How long has your site been listed in these engines? Is it just new? If so, this could be part of what you are experiencing.
To get up the engines takes time and work. There was a time where you could pretty much hit page 1 on your first attempt, but many of the techniques used for that are now black hat.
Nowadays it involves a lot of tweaking until you find the right combinations. Theres also other areas like blogging, writing press releases, developing links etc that can help rankings.
The fact you mention you are on pages 10-20 on MSN and Yahoo and can't find the listings on Google suggests it is a fairly new site. From experience, I've found that MSN, then Yahoo are the quickest to find and rank sites - and perhaps a little easier than Google to rank well in.
In terms of how you can improve, try looking at the source of other sites who are ranked higher to get an ideas of the sorts of keywords they are using and to find the types of sites linking to them. Don't out-and-out copy their keywords etc, but use them as a guide to how you could improve.
other than that, reading these forums will be a great help. A lot of tips to be picked up. I'd be happy to offer more help ... but I don't know your site address. If you send me a sticky mail I can take a quick look if it helps?