It's about time for another timing belt.
Spraying off the MAF element from the front is the easiest method. Electrical contact cleaner is perfered. No danger in that.
A cold idle that fluxuates high and low usually indicates a major vacuum leak.
Don't forget the fuel pressure. Fuel pump strainers plug up on Zetecs too.
Roughness at idle can also mean you need new plugs and wires, but this won't be causing your lean condition.
If you get your problem down to just hesitation, check the TPS. This is easy to do with just a meter, as it is just a potentiometer.