The best water type Pokémon from each region are
Kanto and jhoto
Blastoise is the starter Pokémon so youight have to trade to get it but it is very lethal if used correctly
Lapras has good stats and it also learns perish song (this move can knock out many tough Pokémon very useful if it is the opponent's last Pokémon ) . It is given by a person in silph co .
Gyrados is satisfactory . You can catch a magikarp then give it to day care then take it back and level it up and voila you have a gyrados. It's learner also supports many playstyle there is a shiny gyrados in lake of rage gen (2&4)
Wailord / walrein
Wailord is a very good Pokémon. It can be used as a very brilliant tank. And it can also be a very good HM slave at the same . If you do not have the patience to train a wailmer to level 40 you may also use a walrein
Milotic is very useful wether it is a contest or battle . Though it is very difficult to get hold of a milotic
Swampert is the starter of hoenn and is immune to electric moves but super weak to grass moves . Like all other Pokémon mentioned it can learn all HM.
I prefer teaching it atleast one ice move to beat the grass weakness
Floatzel is the very best water type Pokémon in sinnoh . It has very good stats and learns moves of many types. It is like a common empooleon
Empoolean it is the starter of sinnoh . And a very good Pokémon too. You can use it any play style . It is just like a rare floatzel. I hope this helps