I have purchased rock at a lfs...big mistake.
Pretty much every where I go, the thought "would that look good in my tank" is in the back of my mind. I've found driftwood on the beach, rocks in rivers....anything in nature, you just have to soak it/boil it and test it to see if it will mess with your water.
Additionally, landscape yards like those found at Home Depot and Lowes will have stuff, or check out your local flower nursery. Any place associated with landscaping should have some nice rock, cheaper than an LFS.