Punta Cana has the nice beaches and hotels, but all hotels are all inclusive and have their own little disco which is boring. Punta Cana really has no 'town' except little Bavaro.
I would stay in one of the hotels at Playa Dorada, Cofresi, or Cabarate (all near Puerto Plata), you can have the beaches/AI disco, and local bars and clubs all at the same time.
Just my opinion though