Three things make the engine run: Fuel, Compression and Spark.
You're getting some fuel, but can't scratch that off the list unless all carbs are known to be delivering fuel. Are plugs from dead cylinders wet with fuel?
You're getting Spark, probably scratch that: however there are conditions where a sparkplug will fire outside of the cylinder but lacks sufficient current to spark under compression pressures, fairly rare though. Sometimes it may be tested by swapping the firing and non-firing plugs between cylinders. All plugs should show an equally bright blue-white spark, not yellow.
That leaves Compression: provided by piston bores, pistons, rings, cylinder head, combustion chambers, cylinder head gasket, camshaft, cam/valve timing, cam timing chain, valves and adjustment shims, valve seats and valve guides.
Low compression can be an indicator of valve problems or ring problems. Improper cam timing can still allow engine to limp along running on a couple of cylinders but not all and may cause low compression numbers.
Blown head gasket, improperly torqued head or warped head can cause engine to run on some cylinders, not on others.
Main suspects here are cam/valve timing, valve adjustment, valve shims, fuel delivery and quality of spark, if not all of those at once contributing to problems.