I have a Bissell Little Green Cleaning Machine.. Or so they like to call it. Fill the fresh water tank with hot water, add the cleaning solution to the tank (and in my case i have two dogs so i like to use the pet odor eliminator type) and then fire it up. It heats the water even hotter than you can get out of your faucet but its better to start with hot water in the first place and then it comes out hotter than heck.
I run that over the seats in my wife's car and the water in the recovery tank was absolutely brown. I bought this little cleaner with the upholstery attachments because it sure comes in handy around the house with three kids! And it works darn good in the cars too.
After i let it dry for a day depending on the weather, if you got a hot day then a matter of hours, the machine ***** most of the water back out but you do end up with damp seats yet. Then i sprayed on this fabric water repellent that i found in the fabric department of Wal-Mart, its made for fabrics not carpet, and then let it dry again. I can go sprinkle some water on the seat and it just beads up on the surface, won't soak in, just rolls around. I can't remember the name as i already used it up and tossed the can, need to get some more, but its in the fabric department of most stores that carry that stuff. It's sold as a fabric water repellent. You might also find it in places that sell camping gear as its used on canvas tents and hammocks, etc..
It keeps water and dirt from getting ground into the fabric and makes it easier to clean and prevents stains. I know when i got my KJ i had my arm resting on the passenger seat while i was vacuuming the floor and i got a sweat stain on the seat. Man those seats really stain easy. But with some cleaning and spraying they will look like new, i have just been waiting for the weather to do it, raining again and no garage.