witch pokémon coud learn all this move`s in soulsilver
This link has all of them.
^Just tick the Surf, Waterfall and Whirlpool boxes then there all the Pokemon that learn them.
These are all of them I believe. And their pre-evolutions can learn them too.