Mate, Lee Kenny said the same thing when i spoke to him. I dont know what you guys are searching, but when i type in ''pressure washing'' i come up like, last on the first page. Google is location orientated, so when i type in pressure washing, it comes up with all the pressure washers in Glasgow. Should be the same for your area.
I did spend a fair bit of time going through my keywords, and i check google anylitics for what ppl search for, then i just go in and change my keywords every few weeks to match what they search.
I also change some words on my site every few weeks in the text, just to keep it abit fresh.
Ive got different keywords on different pages, so on my driveway page, all the keywords are about driveways,
Also, apparently, when you use google on your computer, and you search certain things, the cookies on internet explorer or whatever browser you use, they store the pages to an extent, so when you go into google again and search for the same thing, certain sites will be in the same positions on your computer, but might be higher/lower in reality.
So when your searching for yourself, sometimes you might be higher than you actually come up on the search, because your cookies have stored your last position. so when you search for your own site, always clear the cache/cookies in your browser before you search, it will give you a better idea of your position.
Otherwise, i guess ive just got lucky
P.S - I havent paid a penny for my site, or any SEO...but i can sign you up for a monthly fee if you want and ill do yours