Instead of replacing all the ignition coils, fundamental diagnostics should be able to reveal whether ANY of the coils have problems, and identify the coil(s) involved.
An important item is to verify good grounding of the Ignition Control Module (ICM). The cam position sensor (CPS), the crank position sensor (CKP), and the ignition coils all rely upon the ICM base for a good ground reference. Since the bracket which holds the ICM and cols is aluminum, if can suffer corrosion. It is a good idea to remove the ignition coils, remove the ICM, and clean the aluminum bracket. It is also good to clean the bolts holding the bracket to the engine to insure a reliable ground.
When the bracket is cleaned a polished to a bright surface finish, install the ICM, connect the sensors, and install the ignition coils.
When the engine is running and at normal operating temperature, carefully remove one spark plug wire from an ignition coil and note any changes in idle quality or speed (RPM). Insulated spark plug wire pliers are helpful for this. Do this for all cylinders, one at a time. Replace the spark plug wire in its original position, and remove the next spark plug wire from the adjacent coil terminal and monitor the idle speed and quality.
If removing a spark plug wire does NOT affect the idle quality, it is a fair assumption that the cylinder with that disconnected spark plug has some problem. If removing two wires from the same coil causes no change in idle, that coil may have a problem.
If a coil is suspected as having a failure, exchange that ignition coil with one from another position and see if the problem remains with those two cylinders or has moved with the coil. If a coil is verified as having a problem, replace that coil and test again.