It is not dangerous.
You have to take two or three buses:
Option 1:
STEP 1:
Take Expreso Bavaro leaving from Bavaro bus terminal across from FRIUSA and Texaco gas station in Bavaro, to Santo Domingo (SDQ). Buy the ticket in the bus terminal ticket office in advance, prior to boarding your bus. Come early.
Bus leaves at 7:00am, 10:00am, 2:00pm, 4:00pm. The trip time is 4 hours and the rate is 250 pesos. In SDQ, get off the bus at the 27th of Febrero stop (underneath the overpass) after passing the huge bridge (Puente Duarte). Follow to STEP 2.
There are only 4 Expresos that run the route daily, as per above, so if you miss the bus, go to Option 2.
Option 2:
Take any bus for Higuey from the same Bavaro bus terminal. The ride is 1 hour. On the hour is when expresos leave, which are air conditioned. Other (non-expresos) are not A/C'ed. The price is about 70 pesos for regular and 90 pesos for Expreso bus to Higuey. Buses run every 20 minutes and expreso every hour on the hour. Tickets are purchased on board for both services.
Get off on the 2nd stop in front of Basilica in Higuey (not the 2nd stop in Higuey, the 2nd stop in front of Basilica!!!). Lots of people will be getting off. This stop is right in front of Tres Cruzes (three crosses) and there is the bus station terminal for buses to SDQ.
The buses from Higuey leave every 20 minutes. Most are air-conditioned and leave in 15-20 minutes intervals (rush hour, even every 10 minutes). For regular buses, buy tickets on board. Expresos leave every 30 minutes, all expresos are air-contined and show movies. Buy tickets from a ticket agent in the booth or standing in front of the bus. Prices are 160 pesos for regular and 180 pesos for express bus. Travel time is 2 and 1/2 hours. In SDQ, get off the bus at the 27th of Febrero stop (underneath the overpass) after passing the huge bridge (Puente Duarte). Follow to STEP 2.
STEP 2:
From the 27th of Febrero stop take a taxi to Caribe Tours (about 1 km). You should not pay more than 150 pesos.
STEP 3:
Take the Caribe Tours service to Puerto Plata. Cost is about 250 pesos. Buses leave every hour, until 7pm.
It's easy, it's safe, it's cheap.
Your total cost: 650 pesos, which is 20 dollars.