If it's a gun that's gonna be beat around a lot and I'm not gonna cry over it if it gets trashed, I use Krylon rattle can. Everything else gets Moly Resin.
I prep by disassembly and a bath in hot soapy water. Then a bath in acetone or brake cleaner. Heat the parts to 200 degrees to let any oil remaining in tight places to flow out and repeat wash process. Once it's completely degreased, I only handle it with nitrile gloves to prevent any oils from my hands getting on it.
Airbrush or rattle can in light passes and allow to dry completely before another coat or color.
Here's a shotgun I did this past summer.