I have a BMW E46 M3 with 100k miles that's smelling rich when cold and seems to be getting worse mileage than it used to. It has passed the UK MOT emissions check recently, the plugs seem fine and I've had no codes.
I was thinking that it could be the O2 sensors, as far as I know they haven't been replaced before, and my understanding is that over time they degrade and give less accurate data to the ECU. My mechanics, who know the M3 pretty well and have generally been on the money before, have told me that O2 sensors just break, i.e. they work until they don't and until they break they don't need to be replaced. This is at odds with my understanding.
Do 'relatively' modern O2 sensors slowly go bad, or do they just stop working?
If they do slowly go bad how would I determine if this is the case on my car? Replacing them is a pain I'd rather avoid, would analysis of OBD data be useful?