If it's the Kanto or Sinnoh games I'll get them from the professor :P
Otherwise, it depends on the Pokemon I want, but it usually ends up being fishing because you typically get the Good Rod before you get the Surf HM. In SS I know I fished for my Staryu and in Sapphire and Emerald, I'm about 95% sure I fished for my Psyduck.
I did surf in Platinum for the Sealeo that I would breed for the Walrein on my primary team, however.