Hudson Swafford holds nerve to win Corales Puntacana