Old peroxide will still work, but it won't work as fast or, as you put it, as explosively, because the concentration is not as high.
Not saying definitively that this is your problem, but if the peroxide you bought was sitting on a shelf for a year in a warehouse, it would explain what you are observing. A good chemical manufacturer wouldn't ship you old peroxide, but, well...
For that matter, how long have you had it and how did you store it?
What kind of soap did you use and how much? The soap captures the released oxygen in the reaction; not enough soap, or the wrong kind, and the effect could "look" sluggish even if it wasn't.