You are most likely going to be mad when you find out...
According to the Pokemon Strategy Guide, Smeargle can be found in the Ruins of Alph (in the Johto region, NOT Kanto). It is extremely hard to be found here...
If you are too lazy AND you have Pokemon Platinum, Pearl, etc., you can import Smeargle from there. It is MUCH easier to be found there.
Chat with our AI personalities
You catch Smeargle ;)
you can catch sudowoodo and smeargle
You can find Smeargle in route 212 using the Poke Radar.
In HeartGold and SoulSilver Versions, Smeargle can be found outside the Ruins of Alph (level 20-22) or at the Safari Zone (Plains zone during Morning or Day).
You can catch Lombre in Pokemon HeartGold in the Safari Zone at a waterside area once you receive the National Pokedex.