i have a 30 gal tank for almost 3 years and it is definatley a struggle to keep the sand clean, i hate dirty sand and i hate dirty glass, without seeing a pic i would say you have 1 of a few things,
cyno bacteria
over feeding, not enough clean up crew
not enough sand sifting creatures
not sure how much sand you have but i have about 65 pounds of live sand and its about 5 inches deep, i do atleast 1 5 gallon water change a week and i always mix the sand up a little bit to syphon the particles that float, i dont actually syphon the sand, just mix it up
it also sounds like you may be overfeeding, you must be very carefull of your feeding in such an enclosed enviroment especially if you have corals an anemones, they alone put off a lot of waiste besides the fish
whatever seems to be your problem, i would definatley put a close eye on how much your feeding, make sure your doing your weekly water changes, monitor your
ph an alkalinity daily, when your
ph drops it creates a more stable enviroment for cyno an bad algae, always remember the lower the
ph the higher nitrogen uptake accures by unwanted algaes, the more nitrogen uptake, the faster the algae grows, and also look into a sand sifter star, he has worked wonders on my sand bed, constantly moving through the sand
im no expert but ive had my experiences with small tanks and i know what its like, ive found the only way is to enjoy tank maintnence, if you dont like doing it, it wont get done like it should
i hope i was of help to you