Sand is by far better! Concrete is one of the hardest surfaces for anyone to run on.
Like someone said earlier, sand gives a bit more of instability which in turn works more muscles = more work, but definitely a greater benefit.
It is also a great way to train for an upcoming race so when you do switch to a normal surface, your muscles will be well prepared.
I certainly agree with everybody that sand is preferable to concrete. Just a word of caution, though, when beginning to run on sand.
The difference between sand and ‘normal’ surfaces is significant and requires a lot more stabilization. If somebody has never run on sand before, he/she should start with short runs and gradually build the distance. Doing too much too soon can lead to injury which may make any running all but impossible for a while.
First I’d like to ask, “better for what?” It’s always a good idea to find out what the ultimate goal is before deciding on a course of action.
That said, I agree with Karin. Running on sand is definitely more challenging from both an intensity and stability perspective. But that isn’t necessarily going to be appropriate for everyone. Also, if someone is training to run a race which will be on concrete, running on sand may not be the best way to train for that goal.
Love the sand. Like anything else you need to adapt to this challenging work. Start slow and listen to your body. It’s really fun to wear a heart rate monitor and appreciate the great stability and cardio work. Concrete is to be avoided if possible. If you must, use a smaller stride with a soft landing style of running. Have fun in the sand if you can!