Also, you can find them in cities or other significant locations by surfing, too:

New Bark Town (off the shore on the right);
Cherrygrove City (off the shore on the left);
Olivine City (off the harbor to the south);
Cianwood City (off the shore farthest north);
Cinnabar Island (around the island);
Pallet Town (off the start of the inlet to the fence)