If I slow things down, it works okay and I can optimize the computer (it's dedicated to the CNC) but I don't fully like either of these solutions.
These two fixes fix two different issues.
If slowing things down fixes your problems, than that usually means that you don't have enough power to move faster. This can be caused by both too small motors, and also from motors that are too large. Often, large motors have high inductance which limits the rpm they can spin at.
Using a motion controller like the ESS will do nothing for you if the motors (and other drive components) are the problem.
If the PC is the cause of the problem, then the motion controller may make difference.
But you might want to do a little optimizing before spending $200. There's really very little that you can do to make a difference as far as "optimizing" the PC for Mach3. The biggest thing is to make sure the PC is running in Standard mode, rather than ACPI mode.