I changed over my 10g last week, from cheap colored gravel to play sand. All in all, the fish were out of the tank for about an hour and a half.
I first started by rinsing enough sand. Rinse it real well in a bucket, 6-7 times, until all cloudiness raised by a water hose goes back down in a few seconds. I personnaly rinsed it 10-15 times, I feared the tank would be too cloudy to put back the fish right away.
Then I removed all plants and decorations and lowered the water level to about 1/3. I also removed the HOB filter, taking care not to lose any water in it.Then it was really easy to catch the fish without stressing them. I used a bucket with water from the same tank to store the fish during the procedure.
I was then able to get all the gravel out using a (new) cat litter scooper. The yuck at the bottom was really bad, so I rinsed the tank outside using a hose. This tank had been running for 1 1/2 year, yours might not be so bad.
Afterwards I was able to put the sand and fill the tank to 2/3 with conditionned tap water. I took care to use the same temperature water as before. Put a bowl or plate on the bottom of the tank so the sand don't get disturbed. I could then put the plants back and finish filling the tank with water. Amazingly, the water was really clear at this point so I went ahead and started the filter. Waited 15 minutes to put the fish back. All in all, it took about 2h, including the sand washing.