Surf along Route 6, but they are quite rare...
Psyduck can be found in the Safari Zone while surfing.
Psyduck is in firered not leafgreen you can find it using a good or super rod in the safari zone.
You can find psyducks at Seafoam Island
Use surf in route 35
In the waters of the safari zone