From my experience, water-based cleaning is fine. The secret is in not overwetting the carpet and saturating the backing.
Steer clear of “dry foam” systems, as they leave soap residue in your carpet, which attracts dirt and speeds up the resoiling process. The Kirby shampoo attachment uses this method, and while I thought it cleaned OK, I ended up repeating the job every month in order to maintain the appearance of the carpet. Great vacuum, crappy shampooer.
You may want to try the dry powder method (for example, Capture). However, this won’t clean a badly soiled carpet. Works wonders for “in-between” cleanings, though, and does a good job of refreshing and reconditiong the carpet pile.
Extraction cleaning is a better way to go. Don’t prespray the carpet and then vacuum up the moisture afterwards; spray and extract in one motion. This will prevent the moisture soaking the backing and causing it to rot.
You could hire a Hydro-Mist extraction machine or something similar, but you’d probably be better off buying a domestic model. It’ll do a fine job, pay for itself after a few uses, and you get to keep it. That way, you can freshen up your carpets whenever you like, instead of waiting for them to get really dirty before cleaning them. And if you spill something, you always have the machine on hand to take care of it.
The best one I’ve tried is the Hoover upright with the rotating scrub brushes. The Bissell is good, too, although I don’t find it as simple to use. Both work great; I used to demo them back when I worked in a department store, and it’s amazing how much dirt they lift out of the carpet.
If you use one of the domestic upright extractors, it’s best to work in straight lines, and go at a relatively slow pace. When you no longer see any moisture being sucked up the window, move onto the next area. If it’s a warm day and you have the windows open, the carpet should dry within a few hours.