It's horrible, but sjön has a short ö and skön has a long one. I don't know why this is. When the vowel is short, the n sound after gets a little longer, and with the longer vowel, the consonant is a little shorter.
The people who say the words in the links below also happen to have different /ɧ/-sounds, but those are just a matter of dialect, each of the speakers would use the same version for both words.
Hm, that sounds familiar. In German there's also a difference between das Meer and der See. Usually, Meer refers to a water mass with a major conection to the oceans and high salinity (geography student here), while See mostly refers to sweet stagnant waters. The phenomenon with the meaning geting lost in time for both havet and sjön is pretty much the same in German, because we call the baltic sea Ostsee, and the north sea Nordsee, while every geograph will tell you that both of them should actually be called a Meer. Also, the Steinhuder Meer ist also actually a lake, thus ein See.
Not really: The lake is "der See" The sea is "die See" ("die See" is always and only definite! It is rather the total of all the seas and oceans.)
Der Bodensee, die Ostsee.
I was born in Flensburg, in Northern Germany we prefer "die See". A sailor, mariner is a "Seefahrer, Seeman".
In the south, where I live now, people prefer "das Meer". A tourist from Bavaria, standing at the north sea shore would say "Oh, das weite Meer!" A North German would say "die weite See". Well, "die weite See" literally "wide sea", we (we = somebody from Schleswig-Holstein) would call the oceans, far away. Or we talk about the "open Baltic Sea", "offene Ostsee", if the water is not so large. We don't live at the sea, we live "am Wasser", at the Water. Only tourists live "at the sea" and would call it so. So, standing at the North Sea shore I simply say "das Wasser" the water.
"Sie rannte um die (Ost)see". "Sie rannte um den Sankelmarker See."