If the engine can run great for 1 hour, I would not suspect the complex stuff like crank sensors. This is not a fuel delivery problem.
1) Are the plugs the right type and heat range? If the plugs are too cold they will get fouled with carbon/fuel at idling and will stall after a while. Revving the engine clears the plugs. Put in some new Beru or Bosch plugs anyway as they are cheap. Also check the plug boots are in good condition and no moisture is condensing on the spark plug insulators. Is it worse when it rains?
2) The car may be running too rich at idle. Can be adjusted or else the oxygen sensor may need changing.
Don't just change out expensive parts: the dealer gets rich and you get ripped off.