What is the best way to clean dirty cards
I've found that a slightly damp washcloth with a little bit of plain old bar soap on it works just fine -- don't use those goofy hand soaps with the beads or anything fancy in them.  

Lightly rub the cloth on the card, dry it off with another washcloth, and let it sit for a few hours.  You definitely want to try this on one card first to make sure that nothing streaks on the card, and only do small batches at a time to make it manageable.

I wouldn't do this to any Magic cards that you find valuable; those should have been in card sleeves in the first place.  It might be safe, but I would hate to be responsible for damage to your Mox or Lotus.