It sounds as though your IAC (Idle Air Control) valve needs replacing. Christmas night we got to the Expedition to go home and it started very roughly and just as soon as I took my foot off of the gas pedal in order to press the brake and put it into gear it stalled. I tried to start the motor 5 times and same results. I got a new Borg Warner IAC valve at O'Reilly Auto Parts for $73.43 and 30 minutes later Ihad it fixed. I probably saved $150. If this sounds like your problem...
1. Disconnect negative terminal from battery. Two reasons, safety, and the engine computer has to be provoked into calibrating the new IAC to work with your engine. Disconnecting/reconnecting the battery will accomplish this.
2. Unbolt the three bolts (12mm, I think) that secure the plastic "4.6" cover to the top of the engine.
3. Find the little SOB. It's on the driver's side, looks as described.
4. Unplug the two-wire harness from it.
5. Unbolt the old IAC (two bolts, either 7 or 8mm) and remove the IAC and the old black mounting gasket.
6. Bolt the new IAC in its place. Don't forget the new gasket!
7. Plug the wiring harness you unplugged in step 4 onto the new IAC.
8. Put 4.6 cover back on.
9. Reconnect negative terminal to battery.
10. Start engine and let idle for fifteen minutes (Don't touch the accelerator!) to allow the engine management system to learn how much voltage the new IAC needs to perform it's job.
I borrowed this info from another post. I think it was on another forum too.