I don't know the answer, but here are a couple guesses and a lot of facts.
Seas, lakes, and nouns
First, most seas have an adjective in their name: the North Sea, the Red Sea, the Black Sea, the Dead Sea, the Caspian Sea, the Mediterranean Sea, the Adriatic Sea, etc. That pretty well forces the word "Sea" to come second, since adjectives nearly always precede nouns in English. The same is true of the names for the oceans.
Second, there are some seas that are named for a person or place, which appears as a noun in the name: the South China Sea, the Amundsen Sea, the Salton Sea, the Bismarck Sea, the Java Sea. These also follow the usual pattern for combining nouns in English: the modifier goes first, and the generic noun goes second. Other examples are: the Atlas Cafe, the Epicenter Cafe, the Sears Tower, the Eiffel Tower. This is exactly the same pattern as for common nouns: an oil spill, a chemical spill, a garbage dump, an ammunition dump, a backup plan, a business plan, etc.
So, lake names violate the usual pattern: Lake Superior, Lake Geneva, Lake Windermere, Lake Titicaca, Lake Champlain, etc. The names for mountains also usually follow the same pattern as lake names: Mount Everest, Mount Kilimanjaro, Mount St. Helens, etc. River names in England usually have the word "River" first: the River Thames, the River Esk, the River Mersey, etc. River names in the United States follow the opposite convention.
Hypothesis 1
A hypothesis that jumps out at me is: lake, mount, and river all come from Latin, whereas sea, pond, hill, etc. are Anglo-Saxon. In the Romance languages, the convention for coining proper nouns is to put the generic noun first and the modifier second: Casa Santa Luzia, Café Lusitano, A Torre Eiffel, etc. So, maybe after the Norman invasion, people in England picked up the French grammar for place names when using the borrowed French words lake and mount, and retained the English style when modifying place names with a native generic noun.
I don't think so, though. A trip to the OED suggests that Latin mons reached Old English before 1066, and the Latin convention is to (usually) put Mons after the name. The history of "lake" appears to be even trickier.
Hypothesis 2
M. Lynne Murphy reports raiding the OED to find out how the British convention for naming rivers started. She finds that before the late 17th century, the English names of many rivers included an "of": the River of Clyde, the River of Wye, the River of Rhine, etc. It appears that the "of" was dropped later, leaving River Clyde, River Wye, etc.
I checked the OED's page on "mount" and found mont of synai in 1225 and mount synai in 1325. In 1478 there's a Mount Mychell. The "lake" page didn't include any examples of named lakes.
So, from this evidence, we can't be sure, but it appears plausible that the reversed word order for Mount, Lake, and River arose from an earlier form, "Mount of X", "Lake of X", "River of X", from which the "of" was dropped.* I'll leave it to people who know the history of English better than I do to straighten this out.
Instructive exceptions
Whatever the historical explanation turns out to be, we can find plenty of instructive evidence in contemporary deviations from the lake/mount pattern. (You didn't think it was a rule, did you?) The Great Slave Lake is named for the aboriginal people there, who were contemptuously called a "slave" nation by their enemies. So, the word Slave works more like an adjective than it does in most names for lakes, creating some pressure to put Slave first. A stronger pressure comes from the fact that there is also a Lesser Slave Lake. With Great and Lesser as adjectives, it becomes harder to resist the pressure to follow the usual English word order and violate the "Lake X" precedent. The same exception occurs in Great Salt Lake.
Looking at more names of lakes in the United States, I see that a number of the exceptions have descriptive names, as opposed to names of people or nearby places, or they have an adjective in their name. For example, Crater Lake is a lake inside a crater. High Rock Lake is named for nearby High Rock Mountain—which includes an adjective and violates the Mount convention. Minnesota, the "Land of 10,000 Lakes", includes Lake Lizzie, presumably named after a person, but also Maple Lake, named for the surrounding maple forest.
The pattern of exceptions is certainly not consistent, though, which is just what we should expect. People named the lakes following whatever precedent seemed nearest—semantically nearest or sometimes geographically nearest. It appears that every lake name in New Mexico follows the "X Lake" pattern, which indeed is more common than "Lake X" throughout large parts of the United States.
Regardless of the exact origin of the reversed word order, the lesson to be learned is: English place names, like everything else in English, are simultaneously influenced by pressures from multiple, conflicting precedents. People resolve them in different ways at different times and places, and the mess accumulates, but patterns persist.
* Some seas and a few lakes today have an "of" in their name: the Sea of Japan, the Sea of Galilee, the Sea of Cortés, the Lake of the Woods, the Mount of Olives.