South Africa clinched the third leg of the World Rugby Sevens Series by beating New Zealand 26-17 in Port Elizabeth.