I definitely prefer sand by far. But the right kind of sand. I got a very fine grain white aquarium sand and also have used ADA sands and hated both. This time around I got a bag of estes black marine sand (yes you can use it in freshwater) and Tahitian moon black sand and tested both in a cup of water.
I went with Tahitian moon sand becuase the grain size was larger and it sunk faster. No regrets at all. Dream to deal with. Food and poop stays on top for easy removal, great water parameters.
Sand is definitely better for plants, but if you are going with stem plants a enriched substrate underneath the sand or gravel is best. If you are not going for stem plants (anubias, mosses java fern etc.) then it does not matter which you use.
My biggest problem with gravel is that it collects way more mulm, poop and debris and can cause problems as a result. The larger the grain size, the more it will collect debris, which is why I think that the habit of putting marbles and large decorative pebbles in unfiltered bowls with bettas can be hazardous.
That being said it is hard to fill up small tanks with water when you have sand wihout causing a mess, the wanding over the gravel can be hard to pick up poop if you have alot of inhabitants to pick up after (I only have a betta and use a turkey baster once a day) and you need to be careful about your filtration intakes being to strong and close to the sand bed in case sand should get in your impeller.
If you don't maintain it and you have light colored sand, it will look dirter faster than an unmaintained gravel bed. Also sand can harbor dangerous gasses so have inhabitants (like Malaysian trumpet snails) that turn the sand bed around or give it a poking during WC to keep any gasses from building up.
Ultimately it's a matter of personal preference though... good luck :)