First, if you are only painting the hard top then yes you should take it off to paint it.
Second, you can sand it smooth but you will lose the texture that is stock with the roof.
Third, You need to decide how you want it to look, Factory has a flat finish or you can have a glossy finish.
Last, you should get the price on some good paint at the local auto body supply store as there is a big difference between paints and how they are applied.
As you know the paint on your truck is "base coat / clear coat" and you should stay with that.
I looked up your other posts and see that you will need to fix the rust issue on the quarter, only way I know to fix it is to cut it out, fill it then paint it, I haven't found anything that will stop rust.
This project is going to be a little involved so you might want to think about having a body shop do this unless you have a good garage that is dust free i.e. spray booth.
I hope this helps.