I'm curious why this is not correct? It would be correct to say the ship is sailing in the lake or sea in English, so is it just not the correct translation? Because after all, a significant part of the ship will be displaced in the lake, so something does not require to be submerged to be classified as 'in'. I think with something less displaced like a boat you might choose to use 'on' more but you'll certainly see 'in' being used plenty when referring to water without being submerged.
Its's just po + Locative is much more commonly used with movement while na + locative with state/location. One can use na + Accusative to express some movement like changing between water bodies.
- Statek jest na jeziorze. The ship is on the lake.
- Statek płynie po jeziorze. The ship sails on the lake.
- Statek płynie prosto na górę lodową (accusative). The ship sails straight towards the iceberg.
- Statek wpływa na morze. (accusative). The ship enters the sea.