Penne itself does not have a station; it did once, but the line was closed down in the 1950s. The nearest major station to Penne is Pescara. Pescara is well-connected with main-line trains runing north and south along the Adriatic coast (connecting Milan - Bologna - Ancona - Pescara - Bari - Lecce), and west over the Apennines to Rome.
Trains from Rome leave from the Tiburtina or Termini stations and head east past Tivoli, then wind their way on a spectacular route across the mountains.
Some like it so much you can even buy a DVD of the route. You can get the times and make bookings from the official italian railways site (in english); enter 'Pescara Centrale' for the destination station. The trip takes around 3 ½ hours.
You can get from Pescara station to Penne either by bus, taxi, or by hiring a car. The modern train station is a huge glass and concrete building facing the tiny original train station building, with the bus station in between.
There is only one bus to Penne; it runs (normally) once an hour from a stop by the old train station building. Penne is the last stop, and the ride takes about an hour. Buy tickets from the ticket machine before getting on the bus.
There is a single car hire company working from the station - EasyCar - they have an office in the front of the station itself. This may not be open at the quieter times of the year; best to make a booking first. Otherwise, there are half a dozen car hire firms in the airport, which is about 20 minutes away by taxi.
To drive from the station to Penne, the simplest (but least attractive) route is first to head north along the coast road (the Corso Umberto in Pescara, but actually the SS16 Adriatica) until you reach Montesilvano, then turn left on the SR16 signposted 'Capelle sul Tavo' and 'Penne'. From here just follow the road (which turns into the SR151 in Capelle) all the way to Penne, which is well signposted.
The final option is to take a taxi from the station. It should cost around 50 euros.