It's not the sand. If you have algae then there is something up with your parameters.
How often do you clean you sand? Water changes? Are you overfeeding the fishes? Is it in direct contact with sunlight? How long do you keep your tank lights on?
Major factor: Are you overstocked?
Answering these questions will help determine what is your problem. Changing to gravel will more than likely produce the same results of having algae. Filthy substrate is dependent on you, meaning do your clean your substrate while doing partial water changes.