rocks well take a walk, a lot of rocks in your neighborhood would work. don't like them smooth and round get a big hammer and have some fun, that's what i did.
driftwood you could look in the sales forum for a deal also have heard people are buying manzanita wood from hobby stores(alot cheaper the fish stores) just make sure it wasnt chemically treated, want all natural.
sand you could use just good old play sand from home depot or a lot of people like the black diamond blasting sand from tractor supply.
again though the sales forum here is a good spot to get some nice things ant a nice price.
I go for the long walk to find wood and rocks. It just takes some time and effort with a bit of knowledge of what you are looking for in either. For sand, I like the sand used in pool filters. Not as cheap as all purpose sand or play sand but a bunch easier to clean and it doesn't have the smaller grain which can get into filters and ruin the impeller shaft. It has a nice light color that I like.
Do some looking around the forum for info on collecting wood and rocks. Both are a frequent item. There's nothing out there much cheaper than finding your own.