O2 sensor sounds like a likey cantidate, but they more often fail lean than rich.
There is no key code for the Renix type XJ's 87-90, the OBD 1 series XJ's (post 90 through 97, I think) have stored codes that can be read on the CEL.
Is the black coating oil or just soot, rub a little between your fingers, smell the plugs.
Check the vacuum line for your MAP sensor, rub your fingers along the bottom and feel for a rub through. If you remove it be careful they get old and brittle. Make sure the MAP vacuum line is plugged into the right hole in the rubber plug on the side of the TB. Make sue the hole for the MAP vacuum goes all the way through the side of the TB and isn't pluged, the same withe MAP vacuum line.
Next best guess might be the MAT sensor or the Engine temp. sensor on the lower right side of the block. A quick test is to do an ohm test on a cold motor (taht has been sitting overnight, the resistance for the engine temp, sensor and the MAT sensor should be the same or very near. The two sensor should have the same ohm values at the same temperature.