I seperate the upper and lower.
On the upper, I will pull the bolt assembly and wipe out the interior of the reciever with a rag to get the loose stuff out. I then will liberally spray the interior of the receiver and down the barrel with breakfree CLP. This does a good job of getting alot of crud out.
I use a bore mop with a 50/50 mixture of Hoppes 9 and Kroil. After waiting about 5 minutes, I use VFG cleaning pellets which I prefer to patches.
As a final step, I will put a few drops of Kroil on the VFG pellet and run it down the bore.
If it is heavy cleaning time (usually every 3rd cleaning), I will use JB Bore Paste on a bore mop before using the 50/50 mixture of Hoppes 9 and Kroil.
I never use a copper solvent as the ammonia based solvents can damage the bore. Also, I have never had a fouling problem with my cleaning method.
As part of the heavy cleaning, I do dissassemble the bolt carrier and give everything a good cleaning. Otherwise, I just give it a heavy spray down.
On the lower, I spray the trigger as a flushing and then put a few drops of Kroil on it.
For lubrication, I heavily grease the inside of the upper and the outside of the bolt carrier. I will squirt some Kroil on the inside of the bolt. This goes along way to keep grime under control.
Otherwise, I use Kroil for all lubrication.
All the rifles I use are competition rifles and I put about 1000 rounds per year through them.