Remove the stock and use "gun-scrubber" or brake-clean(er) aresol type cleaners. You could take it apart to the littlest bits and clean it all up with a tooth brush and regular solvent, and I do that too occasionally, but for the regular "every 500-1000rnd cleans" I use gunscrubber.
After it dries, oil all the exterior parts you can see (just a light coating) this is to maintain the exterior finish on the firearm. The best stuff for the "inside" where all the moving parts are is a dry lube ie: "Rem-Dri"
I use Rem-dri on all of my semi auto rimfires. IMHO dry lube is the way to go for semi auto anything, since I have started using it in my rimfires I seldom if ever have problem with extraction, loading or firing..
Cheers!