If you are familiar with Estes white marine sand, I would go with that. It's nice and fine and stays very white. It is inert, and will say "safe for freshwater" right on the bag.It's what I use in all my tanks, and have for years. In order for it to sink properly, you have to work with it a bit first. I place it in a bucket, add a bit of water to cover it, and run my hand through it many times to get some oils onto it so it will sink. Once it is good and wet it will sink for the most part. Any floating particles will eventually settle.
Roofing sand may have silicates in it. I would remove the fish to a container while you are doing this, to be safe. Some water can be removed without any detrimental effect on the tank. Water does not hold the bulk of the bacteria in your tank. It is on the equipment, walls of the tank, substrate,etc.