if you're on a budget i would go to home depot or lowes and get some aquatic soil... the ones for lily pads and such... it looks like gravel, but it's really light and cheap... it might be the best bang for your buck... if you're baller and such get the flourite... it's expensive but so worth it... well from what i hear...
I would use rocks because thy last longer. Iv'e kept sand and it sucks. You have to do more cleaning for it then ever. Plus freshwater plants usually don't survive very good in sand.