As above on all suggestions, given my old school background it was always air/spark/fuel and keep it methodical/simple during fault diagnosis, but with the onset of
ECU's it can at times throw a wobbler which makes it harder to diagnose unless you "plug in".
However from what you state I'd certainly lean towards spark (looks like your 1/2 way through replacing parts) or air. I had a similar intermittent fault post engine rebuild (big end) and it was faulty air flow meter.