I know this is a lot if work, but you could disassemble the engine and have the crank balanced, check each rod big end weight, and the piston/ pin/rod little end weights. You could go cheap and reassemble with same rings and bearings if good condition. At same time have valve seats freshened up. Maybe you have a unmatched set of rods. Or cheap pistons with too much variation. Also take flexplate and dampener in with crank. That would eliminate if the engine is out of balance and make it smoother than it was. May not eliminate your problem. but does ensure it isn't internal engine.