My CEL was on for about a year due to this P0420 code (Google "oparr P0420"). The code would return around 10-30 miles after clearing it. Doubted anything was wrong with catalytic converters (California model). Changed the downstream sensor to no avail around 9 months ago, it had seen over 140,000 miles so it was probably due for changing anyway. Upstream sensor had to be changed 20,000 miles earlier.
DMV inspection was due this month (Feb 2009) so out of desperation I tried something that someone recommended for the same issue....Sprayed about a half tin of Berryman's B-12 (same thing used to clean the IAC valve) at the intake while revving the engine. This brought up just about every emmissions code in the book (misfire, O2 sensor, mixture too rich etc.). Also, changed the air filter and added some "snake oil" to the fuel tank.
Well, after clearing codes and over 500 miles later, the CEL light remains off and no traces of any codes. It passed the DMV inspection on Feb 21. I'm now a firm believer in "snake oil" fuel system cleaners for aging cars.