Similar problem with my '99 318. Oil is visible when I look through the throttle body, which indicates that the plenum gasket needs replacing (it comes in a kit with the rest of the intake manifold gaskets). You might want to do this before replacing the cat, as oil will get in the new one if you don't. Until you replace the gaskets, check the oil level every few hundred miles, as consumption can be major if you do a lot of freeway driving.
I've had to replace plugs more than once, as they tend to foul -- 30K is the recommended interval. I also had to replace the cap and rotor, but so far the wires are ok.
Some sensors can affect performance. I had to replace the upper O2 sensor. Its wires were frayed near the sensor.
My first replacement was the air filter, and when I removed the intake tube, a clump of dirt fell to the ground. It was probably a mud dauber's nest restricting airflow, as I had to remove 5 or 6 of them throughout the engine bay. My air box had cracks, so I replaced it with one from a junkyard. Make sure the large clamp holding the air box on the throttle body is secure. It's also good maintenance to clean the throttle body itself and replace that gasket. I did so over the winter. The IAC in back of the throttle body can get sticky, so clean it, too.
You might also check for any vacuum leaks.