I would say 20% because if you run at 10% free space you will run into alerts there by default defined in vCenter and all your datastores will glow red with alerts. Or you could change the values of the alerts if you have storage space constraints.
Also as Avinash said, keep a check on snapshots and also see if you can reserve memory for guests which will save the swap space they use.