I lube each bike about once a week, which means about every 150kms on the commuter and every 50-150 for road bikes (pretty much never lube the fixed gear chain).
Like others have said, use a lube designed for the job e.g. ProLink.
The other thing that I suggest is that you lube the chain in a place that gets the lube to where you want it. Lots of people lube the top of the chain as it moves over the cassette... but this way lots of lube just stays on the top, outside surface of the chain. I suggest lubing just in front of where the chain comes out of the rear derailleur pulleys... this way, you're lubing the inside surfaces of the chain, which seems to give the lube a better chance of getting in to the rollers.
Once the lube has had a chance to penetrate, wipe off all the excess. The bit you want lubricated is the inside of the rollers, not the outside plates. The outside surfaces of my chains are usually quite dry, but they're lubricated where it counts.