Ditto. I hate to have nothing to add but that, but I basically did the exact same as what vato suggested a few months ago, but in a 10g.
The only wrinkle is that I didn't take the fish out. I changed the gravel in 3rds. Remove 1/3 from the tank, spread remaining back. Repeat. In 3 weeks, you're adding the new substrate.
Lots and lots of gravel cleaning. It was cleaning before and after each removal, mostly because I found that I could never get it quite clean enough to keep the water from clouding.
It did stress the fish though, so vato's call of putting them in bags (or other tank(s) if you've got them and room in them) is a good one. Two of my swordtails had a short bout with some kind of infection. One recovered like there had never been a problem. One, not so well, but that one also survived from the beginning of my fishkeeping, i.e. general ignorance of cycling, overstocking, ammonia, nitrite. In any case, she wasn't in great shape to start with. Fair warning though.