I use Eezox dry lube and cleaner/protector. I've used it for years and it does all the above says, AND it dries, well .... DRY! No oily surface to attract debris and powder residue. It cleans like nobody's business and also is one the best (tested thoroughly) metal protectors you can find.
It's cheap (about $6 a 4 oz can) which lasted a couple of years (!!!) because you use so little. It dries in about an hour and will coat your metal surfaces so they slide and don't get dirty as easily.