I use Hoppes #9 Nitro Solvent and follow up by wiping down the exterior surfaces with an appropriate cloth (Silicon for Blued steel, Lead-free for Stainless).
Works out pretty well.
Break-Free Collector is also pretty good, and I've heard good things about Flitz.