I've used Nikwax plenty, but now that I think about it, Starbrite Waterproofer works better on Sunbrella and was top-rated by Practical Sailor. I think I'l try that next.
Proofing breathable fabrics is quite tricky as many products are unsuitable. Ordinary waterproofing ones tend to block the small perforations so that water vapour is blocked. This means that internally generated moisture (sweat) can't escape. I've read somewhere that it's best to wash them with pure soap flakes which clean but don't leave a residue. The breathability is therefore preserved.