Does your 3x3x3 cube work properly?
What kind of hardware are you using? Whether you will need to use shift registers or not will be determined by how many available pins you have.
A 3x3x3 cube has 9 columns and 9 rows correct? So you will need a total of 18 pins (or ports if that makes more sense to you) on your hardware. If you have that many available, then you can theoretically use your arduino and only your arduino. Shift registers are what people use to extend the amount of LEDs that can be controlled when the the number LEDs exceeds the available pins on the Arduino.
I know what you want to do is possible. Although, finding something that is exactly what you want might be tough.
I found a few things here. These might give you some ideas and education to help you along towards your goal.
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1202056662/0