Hello; having tried both gravel and sand my preference is gravel. I like the gravel to be from around bb size up to small pea size.
There are a couple of reasons gravel works best for me. One is that I like rooted live plants and these plants have done better for me in the gravel.
I suspect the plants get better root feeding in the gravel over the sand which packs tighter. May be easier for the roots to penetrate the gaps in the gravel, but the more likely is that there is more movement of the water thru the gravel. This may carry the nutrients into the root zone better.
Another reason being that I still use undergravel filters (UGF) in some of my tanks. Been using them since 1959. I think the gravel works better with them.
On a side note, I joined these fish forums in 2010 and learned that many do not like the UGF. I had set up tanks both with and without UGF. I decided to add the UGF to some of my setups so I can observe any of the faults cited. So far no issues, but it has only been a few years.
One reported issue with sand is potentially serious. That being that sand over an inch deep can develop anaerobic pockets. These anaerobic pockets apparently make good conditions for toxic compounds such as gases to form. Sand needs to be stirred up around once a week or so to break up these pockets.
Other issues with sand include that if the very fine sand particles are not removed, these particles get into filter parts and will chew up impellers. These fine particles also can make the water cloudy with fish activity.
I also do not care for the look of most sand and made this determination before discovering the other issues with it.
There is a way to have sand and avoid the specific issues. First use construction sand which has a variety of particle sizes. Build a screen box sieve and dry sift the sand to remove much of the very fine stuff. Depending on the opening size of the screen box you can sift out sizes you want and have the larger less troublesome sized. Also construction sand is cheap.
Good luck