Do you get the same result with Shell 87...or is it a different brand?
Shell is one of the "Top Tier" fuels that has additional detergency and leaves less deposits.
This is with ALL grades of fuel....including 87 octane, although the premium grade has even more detergents.
You can read more about Top Tier gasoline at
http://www.toptiergas.com/index.html
The normal issue with needing higher octane fuel is due to pinging, which is caused by carbon buildup inside the motor.
I would try a tank of fuel with a metal can of Berryman's B-12 Chemtool.
This is a strong solvent type of cleaner that will clean the fuel system.
Chevron Techron and Redline Complete Fuel System Cleaner are 2 detergent based brands that seem to be good.
Read the label as to the correct amount to add to your 20 gallon tank.
Last I looked, it took 2 bottles of the Techron to treat a 20 gallon tank.
You can then run a "maintenance dose" of the Redline, as indicated on the bottle.
I don't know the normal fuel economy with the 3.0L engine, but it would seem that you do not have something seriously wrong with 22mpg.