Gamefreak Logic
Its just how Scyther can't learn fly but Doduo can.
Its just one of those things which only Gamefreak will know why.
Snorlax
Snorlax looks a bit like a bear , maybe ?
Bears can swim and if Snorlax is a bear he could swim I suppose.
Plus, not everything sinks. It depends on the volume of water and the mass and weight