Update: After a couple of weeks of daily driver duty, car runs great but popped a few codes this week. First was P0340 (cam pos. sensor) then a few hours later saw P0172 (rich fuel trim) then right on cue; P2188 (rich idle trim).
According to service info for P0172/2188, P0340 must not be set in order to diagnose a rich condition. So I ordered the cam sensor. So if this turns out to be my case I will update. TB and other items have been cleaned, new PCV, etc., so my rich condition may be a bad cam sensor. All my injectors have ~14 ohms, so I tend to doubt one died in two weeks of driving. Will update.