I think it is best to check the train schedule and rates on:
http://horarios.renfe.es/hir/ingles.html.
The fastest trains are the AVE, the Talgo and the Euromed. It will depend on your departure location.
If you go by train it will at least take you 8 hours to get from the south to Tarragona (closest city to Salou). If you are close to Seville, then take the AVE to Tarragona. You can take a free shuttle bus to Salou from there.
By car it will also take you about 8 to 10 hours. You can hire a BMW 2.0 for about 450€ getting 2000 kilometres free. A VW golf will cost you around 250€ with the same free mileage. Spain has very good highways and it is relatively easy to go from the south to the north.
Also check
http://www.clickair.com or
http://www.veuling.com for cheap tickets from Malaga or Seville to Barcelona. If you speak Spanish try
INVALID URL it's a Spanish comparison site. I flew from Barcelona to Malaga and back a few weeks ago and it only cost me 180€. It was an hour and a half trip.
I would not recommend the coach. It will take you ages and it is very frustrating to find the right once, especially when you have to change coach several times.