Douro Valley is located north/interior of Portugal, considered one of the most beautiful wine regions in the world (and the oldest!).
The easiest way to reach Douro Valley from Lisbon, is by car.
Please see my article here: https://lisbonguide.org/car-transfer-from-lisbon-to-douro-valley/
But, some guests might prefer to check alternative options for transportation by public bus.
There are usually two daily bus departing from Lisbon to Peso da Regua, occasionally three times per day.
It takes around 5h, and makes several stops along the day (usually 5 to 6 stops). It may be needed to change bus in Coimbra, half-way to Douro Valley.
They are usually 50-seater public bus, operated by City Express or Rede Expressos.
You can find more information on their website: https://www.rede-expressos.pt/
Once arrived at Peso da Regua, you will need to find alternative transportation to reach your final destination, since most hotels/accommodations are not walking distance.
Regarding Pinhão, there are no routes to reach Pinhão.
To Lamego, there are 3 to 4 bus per day, but to the center, then you will need to find local transportation to reach your hotel (Lamego is very big municipality, spread around a wide area of Douro).
For other areas of Douro, I believe would be difficult to consider reaching by bus.
Hope this information can help, any questions just ask.