I run Roost on Gligar cause it doesn’t get Poison Heal. Same for gliscor?
Roost is probably better than Protect, as it provides more reliable recovery. Protect is safer, and provides free Poison Heal recovery, Roost gives back 50% of your HP, which is lots of recovery in one turn when you add Poison Heal. Usually, a Pokémon will run Protect in these cases only if they don't have a reliable recovery like Recover or Roost. So, I would recommend Roost over Protect.
It is really your own choice. If you want extra recovery, use Roost. If you are fine with poison heal recovery and like to know your opponents attacks, use Protect. I personally recommend Protect though. So go for protect.
I actually think you should have both but then it wouldn't leave space for swords dance + E.Q. unless you just want toxic but then you don't have anything for steel types so you could just put E.Q. but then skarmory (theoretically) so, yea.