I'm using an ESS/Mach3 combination on my CNC mill at the moment because that's what it came with. I'm seriously considering a change because of unreliability - random crashes, ESS buffer underruns, problems restarting from a given line, typically. Main thing stopping me at the moment is that the ESS is plugged into a motherboard that carries all the external connectors and I need to look at just how much work will be needed to re-engineer a conversion. UC300/UCCNC probable candidate, though. Would have re-used my CSMIO IP/M except that sticks with Mach3. I also run a PV Automation ET6 board with MyCNC software for my router which is mostly OK although I still have one or two issues with it. At least it's more reliable than the ESS, though.