Considering the hours I put behind the keyboard, I like to clean my wireless keyboard 1-2x every week, usually with a slightly dampened cloth, followed by a little hand sanitizer* to wipe away both the oils and eliminate any germs calling the keys home. It's an easy habit to keep, but also causes a moment when my computer goes a little bonkers as I press all the keys while wiping...
Of course, if you've got a wired USB model, you can simply unplug the keyboard while cleaning to prevent the temporary crazed state. And wireless keyboard owners could remove the battery while doing so (or turn off their Bluetooth connection). But here's an even easier utility for OS X users called KeyboardCleanTool (Windows users have a similar utility, ToddlerTrap).
At the press of a button, KeyboardCleanTool and ToddlerTrap disengage your keyboard from recognizing any input, preventing the wild seizure-inducing screen show of opening/closing windows and typed gibberish while wiping across the keys. Each utility is free, simple to use, and now part of my weekly computer cleaning regimen (I've yet to try out the mascara brush technique).
*And if you're worried whether sanitizer is safe, note Apple actually recommends using commercial sanitizer for keyboard maintenance, but we think using a little hand sanitizer on a cloth or paper towel is the more economic route.
Other Keyboard Cleaning Tips:
Keyboard Cleaning Tools (That are Free!)
5 Ways to Clean Your Keyboard
How to Deep Clean Your Apple Keyboard
NPR Asks: Can You Clean Your Keyboard in the Dishwasher ...