i had same problems, eventually narrowed it down to dirty trottle position sensor (on side of throttle body) took it off, cleaned it out with contact cleaner, now runs like a dream. there is a thread about it from a few weeks back. however, i had first changed the lambda sensor and crank sensor (but these didn.t cure it)
while i was at it i removed the plugs and gave the whole area a good clean up.
you will have to do a full ecu reset when its all back together (battery off for 2 hrs, then turn on ignition for 90 secs, off for 90 secs, then go for a blast!)
hope it cures your problem, it drove me insane!