Yea, struggling, is one way, but there are others like optimizing for spaced reptition, visualization, etc.
The shift should be from "grind these problems so the pain sticks with you", to "create a mini logic board in minecraft to blow up that mountain". Or, "build mini simulations to show how forces work, and tie them to an interactive applet".