I have two Legacy wagons, both manual trannys, a 1997 Brighton 2.2L that has run like a swiss watch for 6 years, 60,000 miles or so, now has 304,000 miles. And I have a 1996 Frankenmotor (2.5 block) that has been our second car. The Franken ran ok when I got it, though it did drink oil fairly well compared to the 2.2, and never had more power than the 2.2L. The 2.2L gets about 25 mpg, and the Franken got 16 mpg last tank (though it used to be around 20).
At some point, a couple years ago, I came to the conclusion that I had a burnt #4 exhaust valve in the Franken. It sat for a long time, until I finally got around to it, took the heads off, and everything looked A-OK. New head gasket and everything back together. If I remember right, my diagnosis came from #4 misfire and low compression in that cylinder. I may not have tested compression well (or maybe old head gasket was bad?).
Anyhow, I've done a lot of stuff to the Franken, and the low power still makes it mostly undriveable (stalls easy, has trouble getting up steep hills). New fuel pump a couple thousand miles ago, I assume I put a new fuel filter in...and new plugs and wires. I was still getting the #4 misfire on occasion, I swapped the injector with #2, and I don't get the misfire code on either cylinder now. I put a new coil pack on. New air filter. New PCV valve. New #1 O2 sensor. Cleaned MAF. It has an issue of pulling (pushing?) oil into the air intake (through valve covers or PCV?). I clean the oil sometimes. I took the whole breather apparatus off the 2.2L and put it on the Franken (so no oil and likely good MAF), but that didn't help.
Its starting to seem dubious that its a good strategy to keep throwing new parts into a poor-running engine. Especially parts that wouldn't transfer over to the 2.2L (like fuel injectors). So hoping for some insight, or at least some practical things to try from the community here.
I got the Torque app, and a reader, a couple months back. That led me to change the o2 sensor. I made a graph of both cars taking the same trip. Its all hills here, but towards the end I tried to hold near 2200-2400 rpm in a flat area, and then let idle for a minute.