I've been messing around with LED cubes for less than a year, but i've found a lot of ways to make one. I have 4 different 4x4x4 RGB cubes, and there are more ways than that.
Here are some of the primary options for controlling lots of LEDs:
Transistor cascading (like multiplexing transistors)
Serial (shift registers/LED drivers)
The most common seems to be serial, using shift registers, or a constant current chip.
125 LEDs isnt too many for charlieplexing, but Im not sure how easy it would be.
There was someone interested in making a 5x5x5 cube, in a not so standard way (typically a cube is made up of layers of planes of LEDs, this used 25 lines of 5, instead of 5 planes of 25 (5x5). This can be done with 30 transistor (5 groups of 6 transistors)
You could use 4 shift registers to control the 25 bits for one plane, and 5 transistors, or maybe a uln chip to control with plane is lit.
If you want to use shift registers, you should probably check out the shift out section, and maybe check out shiftpwm.
Heres an example of someone making a 5x5x5 RGB cube with shift registers and ULNs. It might help you figure out how you want to make your cube. http://gemlit.com/howto/