I've got a 2004 325ci, Manual.
I had very high fuel consumption when I first got the car, coupled with lack of torque, hesitations, bogging and surging, laggy throttle etc.
After a LOOOONG effort I think I've beaten most of the issues down.
In my case it was:
Vanos seals gone - replaced with Beisan vanos seals - fixed most of the power issues, but fuel consumption better, but not great - around 11 - 12 in heavy traffic.
Got BMW to flash my ECU to a newer version - Fixed laggy throttle, most of the hesitations, much better fuel consumption - 10 - 11 in traffic now.
So I'd suggest you start with the vanos which is a big one, only if you are experiencing any vanos failure symptoms on top of what you describe above.
In between all of that I also did the following, any of which could help your situation:
- Cleaned the MAF (was fine)
- Cleaned ICV and throttle body (were fine)
- Cleaned all electrical connectors and crimped the contacts (no difference)
- Cleaned and inspected DISA valve (was fine)
- Replaced oil with proper synthetic oil from dealership (not sure what was in there before I got the car but it looked nasty)
- Replaced spark plugs (no difference)
- Replaced intake hoses (no difference but old ones had some slight cracks)
- Replaced crankcase ventilation hoses and oil separator (no difference, old ones were fine)
- Replaced vanos solenoids (no difference, old ones were fine)
- Put the car through several OBD diagnostics tools, dealership, gizmo's and my own - NO SERIOUS ERRORS whatsoever throughout the time I've had the car - so dont believe there's nothing wrong just because no errors come up.
There's still some slight bogging and surging and hesitations which I still need to address, but the car is MUCH improved now.
Through process of elimination above, I'm going to try replacing O2 Lambda sensors next.