This is caused by America's EPA Regulating the crap out of Fuels these days, and the Ethanol MANDATED in Every bit of gas sold here. Most stations are Up to 5 or 10 percent Ethanol. The Ethanol causes bad juju to go on inside the engine with carbon deposits.
Best thing to combat that in a Gas Engine is to get an oil/air seperator installed on the breather tube from the cylinder head to the intake, THEN use Seafoam every few tank fulls. Dump a whole bottle of the stuff inside the tank, and every Oil Change, find a negative pressure tube running from, say the brake booster, or somewhere on the engine to the intake manifold, and let the engine Idle for 5-10 minutes with a tube running from that port to a bottle of SeaFoam. If the engine starts to run lower than idle, some light pedal work will need to be done by a friend to make sure the car doesn't die.
Once the bottle is used up from this process (basically what that 100-500 dollar carbon cleaning at the dealer is doing) Let the engine sit for 30 minutes. After it has sat. Fire it up, and take if for a Very spirited run. This will produce a white smoke out the pipes letting you know the Sea Foam is working. Once the white smoke dissapates, Carbon cleaning has completed, and you can now enjoy the next 10000 miles till your next oil change.
oh, btw, if you want to make sure the INSIDE of your engine is taken care of too, while the engine is sitting for that 30 minutes, dump half a bottle of sea foam into the oil, and the rest in the tank. After a good thrashing to get the smoke gone, THEN go get an oil change. This will loosen up any Gunk that has found home on non moving parts, and will come out during the oil change.
I use this stuff at each oil change on my Wife's 2003 S10 and it runs like a top to this day. I told my dad about this stuff (he didn't believe me at first) Had him dump a bottle in the tank of his Sierra, and a bottle in his 5.3LV8. He then went for an oil change, and the truck runs like new.
I will be doing the carbon cleaning for him in a week, and I'll see if I can't get video of the process.