You could use any of them but they have slightly different meanings:
On the lake = on the water, maybe you were on a cruise
At the lake = you were visiting the lake regularly, or the place you were located was near to the lake
By the lake = to me, this sounds like you were staying somewhere directly next to the lake.
The same distinction applies to all the bodies of water you mentioned.