Dealing with cheating in the game is always a hassle. You can’t accuse players of cheating without offending them - and what’s more, you may occasionally be wrong. Even so there’s no way to be sure they’re going to stop once they know you’re onto them.
I suppose the best you can do is to make it less viable for players to cheat. If you’re using a prewritten adventure, swap things around a bit now and then so a cheater doesn’t know where all the traps and hidden treasure is. Move monsters around; perhaps the monsters wandered and ended up in different chambers than the adventure says.
In general, if a player gets an exceedingly high roll I ask them what bonuses they had to get that. If it turns out they were cheating, it will be revealed. If it turns out that they added wrong, then that’s fine, everyone makes a mistake. However, if it turns out that they managed to do it legitimately, then it lets them feel especially proud that even the DM couldn’t believe how awesome their powerful character was.