I am curious, though. When did being dishonest become categorized as a "preferred playstyle"? Are we really becoming so squishy as a society and afraid of hurting people's feelings that we don't want to call cheating what it really is? Rolling a 2 and knowingly telling people that you got a 20 is just plain dishonest. Especially when the results are so wildly different.
Total agreement. I loathe the news these days, because they'll show some politician saying one thing one day, and the exact opposite the next day and describe it as 'confused' or 'mistaken' or 'misquoted' instead of just flat out saying that the creep got caught LYING, again.
As for the cheating thing, we use the box top method occasionally, mainly because we *hate* chasing dice off the table. (Haven't had a cheating issue since college.)
The calling out rolls feature sounds like a decent option as well, but make sure to actually reward her with praise when she *does* make a close roll (not just a 20), so that she gets the clue that maybe the rolls that she's *earned* are the valuable ones that get the praise, and not the ones that she's 'stolen' by cheating. There's no real need to single her out either. Praise the hell out of someone else who rolls an actual 20 or makes a difficult saving throw or attack roll or disable device roll. Encourage the others to look disappointed *and openly remark on it* when they fail an important roll. Seeing the players openly admitting to a failed roll and encouraging each other because of it, might help her to get the idea that D&D isn't a game about 'beating the other players' and 'always getting the best rolls' but about working together and covering for the rest when things *don't* work out. Everybody is supposed to win, in the end, not just the special person who never misses a roll and is better than everyone else.
You're not her parents, so it's not your job to try and teach her that theft and fraud and deceit are bad, and ultimately self-destructive, in real-life, but you can at least encourage her not to pull that crap at the game table.