Excellent topic! This is something I am very passionate about because there is no point in having nice jewelry if it isn't kept clean.
Steaming makes all the difference in the world with my gems.
I steam my jewelry at home with a Jewel Jet steam cleaner, and I love it! Uses tap water that I can leave in and does not rust inside the machine.
Jewel Jet Jewelry Steam Cleaner - $89.95 on HSN.com. Worth every penny!! (and get a rebate through ******.com!)
I used to have a Jewelry Spa
Jewelry Spa Jewelry Cleaner but you have to dump out the cleaning solution and distilled water after each use. Will rust if you don't - and mine did. If they could fix those problems, then it would be a really fine product.
As for cleaning, I use a blue solution and a little brush that someone sold to me in the mall in Las Vegas and it does a fine enough job, but I think I could get the same result from an water/ammonia blend. Windex is great!
I keep my silver in a non-tarnish jewelry box, and I occasionally rub it with a silver cloth. If I need serious tarnish removal, I have a paste from Haggerty that works really great. Haggerty is a common jewelry cleaner brand. I bought it at Linens & Things.
I am not a fan of ultrasonic cleaning as it can dislodge set jewels. Probably fine 99% of the time through. But I've been burned, so I use other methods.