Engine shaking on my 94 BMW E36. I thought it was caused by bad sensor, coil, spark plug or timing problem. The broken radiator fan blade was the culprit.
One of the blade was broken when my water pump failed on previously incident. The broken water pump impeller caused the bearing to fail so the fan clutch did not properly spinning. The fan hit other parts near it (maybe the plastic fan cover near the radiator).
After replacing with new blade, no shaking at all, the engine run smooth again. ;)