I have the old General Grievous figure from 2005, and it is almost 10 years old.
Due to its age, the torso now looks yellow-painted.
What can I do to clean it?
In general, legos can be un-yellowed by soaking in a combination of hydrogen peroxide, oxyclean powder (or sodium percarbonate), under sunlight or UV light. Or use Retr0Bright. Certain colors of painted decorations (such as gold) will not hold up well to the cleaning, but plain pieces and some colors do hold up well.
For regular dirt and grime a little bit of dish soap and warm water and a sponge or soft cloth should get most figures clean. For tough or caked on dirt you may need to use a scrubby sponge or soft brush, but be you run a risk of damaging printing on the figure. Older LEGO pieces can become yellowed over especially with prolonged direct exposure to sunlight. Many have reported success with oxidizers such as hydrogen peroxide or oxyclean, but there is also a possibility of damaging the element. Good luck!
Adding to user3576's comments:
Dish soap and warm water is your first choice. You can let tough grime soak in soapy water for weeks before washing if needed. Hot water is bad because ABS has a (relatively) low melting point, so a trip through the dishwasher would not be advised. Also, dish washing detergent has abrasives, so...double nope.
Yellowing due to sunlight needs oxyclean + h202 or retrobright to correct. This works, but in addition to the above warning about metalics, be aware that it take a LONG time to work, so don't expect a quick 5 min dip will start to fix things. I have left bricks soaking in the stuff for weeks.