Jeff, I had great fun teaching my 7-year-old daughter to solve 4x4x4. For her, the strategy that worked best for teaching her the harder algorithms was this:
1. I showed her the algorithm by holding it so she could see the moves from her perspective, a bunch of times.
2. I talked her through the algorithm a number of times, so she could do it herself.
3. I had her practice the algorithm over and over again, and I watched every move and corrected her whenever she went wrong.
After just a handful of times, she got where I only needed to correct her once or twice even during OLL parity. And after another 20 or so tries, she could get it without me needing to correct her even once.
She doesn't practice very often, sometimes going a month or more between solves. So when she picks it back up, I usually have to go through step 3 with her for 10 or so more tries on each difficult algorithm so she can solve it again. I'll be going through that again soon for the Lexington competition, no doubt.

She gets faster every time, though.