I suggest Mobil 1 as well. Mobil claims it cleans dirty engines.
http://www.mobiloil.com/USA-English/MotorOil/Oils/Mobil_1_0W-40.aspx
And my suggestion is based on my own personal observations as well.
There is keeping an engine clean when it is already clean to begin with, and then there is cleaning an engine that is dirty.
My brother bought a 1997 Civic with 90,000 mi. back in 2006. It was in a used car dealership, so he couldn't talk to the previous owner what oil was used, and how long it was run. It had good compression and ran very well over all, so he bought it. Looking through the oil cap with a flashlight at the valvetrain, there was a good layer of varnish everywhere. My brother lets me change the oil for him, since I love working on cars. We ran PP and then Ultra in it. Knowing Pennzoil's claims of cleaning, I have checked through the oil cap with a flashlight at every oil change, wanting to see if it would touch the varnish.
The Civic now has 270,000 miles on right now. He has driven it LOT.
After all those miles PP and Ultra haven't even really touched the varnish at all. His average OCI was 6,000 to 7,000 miles. This past year, he told he wanted to try a different oil besides Pennzoil. He ran Amsoil for a couple changes, then Mobil 1. Starting with Amsoil, I could see the valve rocker spring closest to the oil cap becoming cleaner. The varnish was dissolving in a noticeable way, there was now clean metal.
Now, with Mobil 1, it is continuing, the clean area is expanding. I can clearly see the varnish dissolving, and the Mobil 1 hasn't been run that long, yet, it is having very good cleaning action right now.
It surprised me, Pennzoil was run all those thousands of miles, and it didn't really touch it. Amsoil and Mobil 1, in just a few thousand miles have demonstrated better cleaning ability.
Interesting.