Non damaging method of cleaning keycaps - from my personal experience.
Take a couple of pictures of keyboard so you know which keys go where (I do this for ease only - although not critical)
I use an ultrasonic cleaner from harbor freight (heated unit) - about $70USD
I fill it up with hot water, add about 1/8 cup of baking soda and a generous squirt of dawn dishwashing liquid
Throw the caps into a mesh bag (nylon stocking will do fine also) - tie off the top with twist-tie
Drop the meshbag into the water/bakingsoda/dishwashing liquid, turn on the ultrasonic (heater too) and cook for 5 minutes
- turn off heater, repeat 5 minutes ultrasonic only
Remove mesh bag from water, run under water, shake all excess water off
Open mesh bag and inspect keys - should be clean (if not repeat above scrub process).
Lay out the caps on a towel to dry (legend face up) - takes about an hour for them to dry (optionally, you can blow them dry with canned air or compressor - I don't suggest using heat)
Wipe down the keyboard case/frame, blow out the keyboard using canned air (or compressor if you have it - cheaper).
Reassemble keycaps on board.
The baking soda acts as micro abrasive scrubbers (triggered by the ultrasonic), the soap is a non-destructive degreaser - I have not had any issues with UV coating being removed or bleaching dark caps.
Never add any harsh chemicals (bleach/ammonia/etc...) - they will contribute to stripping the UV coating off the caps (and in some cases will lighten them).
I once made the mistake of adding a cleaner that bleached some black caps - but I was able to restore them using an acetone vapor wash.
Paul (HB)