I do not think they meant the onProgress() to be used to continuing doing work, I think they meant it to provide some sort of progress feedback. How often is onProgress() called?
Lets just say its called once a second (I really don't know), this means you could only change the state of the NeoPixels once a second. That won't be a very smooth animation. If all you want to do is just change the state of pixels (think of a line of them as a progress bar), then just set the pixels and call show().
Now if they call 30 times a second, then you could replicate what you put in your loop() function for the pixels and the animations will run smoothly.
Does that make sense?