For P0420 to be set, the ECM compares the signal waveforms of the heated oxygen sensors upstream and downstream of the catalytic converter (pre and post cat O2 sensors) to determine whether or not catalyst performance has deteriorated, since the ECU has no way to actually check the catalytic converter aside from reading what goes in and what comes out. This assumes that the sensors are working perfectly, there is no exhaust leak, and the ECM is not confused.
After the engine and catalyst are warmed up to operating temps, and while the vehicle is driven within a preset engine speed RPM, and the resulting waveforms of the upstream and downstream O2 sensors have the same amplitude and waveform, and 2 trip detection logic (has to happen twice, or it is thrown out as a electrical glitch). Only then will the P0420 CEL can be set.
This CEL just indicates that the readings from the upstream and downstream O2 sensors look too similar and because of that, it "assumes" the catalytic converter is faulty. Problem is, in many cases - the O2 sensors and catalytic converter are perfectly fine. Have to trace down the part that is popping up the CEL, if those are exhausted - then you have to look at the O2 sensors and finally the catalytic converter.
Since you noted that the fuel economy is not as high as you would like (depends on the transaxle on the car - 3-speed auto/4-speed auto/5-speed manual) and you get a P0420 code. It would lead me to believe that the engine coolant temperature sensor is faulty so that the car will not warm up normally (hurts fuel economy), plugs or injectors are fouled (hurts fuel economy), or the O2 sensor has gotten lazy - i.e., didn't quite fail, but not reacting to the air-fuel mix as it should (hurts fuel economy). Since the CEL pops up as often as it does, I would suggest getting an OBD-II code reader to verify the codes. If you can get one with data-logging capability, all the better, as it would be nice to see exactly what the sensors are outputting.
Then again, the lowish fuel economy numbers may be completely unrelated to the P0420 code.
Also possibly that the car isn't driven enough between CEL events. Hard to say without being right there with the car. You've hit one potential culprit for poor fuel economy, the MAF sensor. Doubt the water hurt it, as this is exposed to some moisture from the incoming air. Completing a comprehensive tuneup (plugs, clean throttle body, fluid exchanges, coolant drain and refill, etc.) may help with overall fuel economy. Tire air pressures, suspension, steering, and alignment are other things to look into to see if you can increase fuel economy.
I feel your frustration. Just for comparison, my 2002 Corolla (4-speed auto) has over 150K miles, still on original sensors, doesn't consume any oil, and gets between 36-38MPG on highway on my daily commutes (500 mile/week). Generally see ~30MPG low if city driving, as high as mid 40's on steady state cruising. But I get that dreaded EVAP code seemingly every other year - right when I have to smog the car. Here, resetting the ECM will automatically fail my smog, since they are querying the I/M status on the ECM. If I clear the ECM of codes, it also resets the I/M readiness monitor. Usually fuzzing with the vacuum hoses, and whatnot by the EVAP components usually does the trick to let me pass. But it kills me that the CEL stays off for 24 months, only to pop back on when I get ready to smog. This year, the CEL popped on while I was waiting in line to get smogged.