Subtle cheating is always hard to automatically detect. You can't tell with high confidence that someone used an engine for one move every couple games for instance because sometimes humans find those rare moves on their own. Thankfully a lot cheaters seem to have an ego that pushes them to cheat more and more though so they tend to get weeded out.