Difficult to say without seeing roof, when you describe it as tatty, has it just become discoloured or is there any damage to the condition of the roof. If it's the former then you should be able to get it back in to good condition. Having just recoloured my roof at the weekend i was very pleased with the results of the following:
-Vacuum roof over (careful to use the gentle brush attachment) to remove any bits
-Clean roof (i used Autoglym fabric roof cleaner, seems to work okay comes with a special sponge to help cleaning)
-Once roof dried off, apply colourant (i used Renovo, which comes in a pot and you paint it on, so as long as you are careful you won't have to mask, comes in blue, brown and black)
- Once this has dried off apply a sealant (Fabsil, Nikwax, etc, there is a similar thread on sealants from a few days ago, don't fall in to the trap as buying the Autoglm sealant though as I tried this and found it to be rubbish)
Having done that little lot it should come up looking pretty good, needless to say best to wait for a dry day as you don't want it raining on you half way through.