From Luxembourg City, take a train to Ettelbruck, and then jump on the 570 bus ( the bus station is next to the train station ). Vianden is the second to last stop on the route - ask the driver if unsure.
The whole journey from Luxembourg City takes around an hour, and costs 4 Euros for a return ticket (bus included).
If you're on a day trip and going to Vianden by public transport, you should consider getting the Luxembourg Card (sold at the Luxembourg City Tourist Office, among other places). The 13 Euros it costs covers admission fees for all noteworthy museums and castles, along with public transportation through the entire country by bus/rail.
It is also possible to catch a bus from the German city of Bitburg.
Vianden Castle. Every year, in the months of july/august rich cultural program, held over 10 days - fencing, medieval music, smiths and other crafts. http://www.castle-vianden.lu There is also a museum to Victor Hugo, who stayed in the town several times.
Besides the castle tour, there is also a chairlift up to a scenic view, a swimming pool, and a zipline.
The Ancien Cinema, in addition to serving drinks and desserts, shows a variety of movies and houses a number of books on various aspects of the film industry.
Indian Forest Adventure Park is located near the castle, and can be reached either on foot (there are clear signs near the path to the castle) or by taking the chairlift and walking downhill. They offer a range of courses at different difficulty levels. English-language instruction/introduction is available, but limited.
The castle has a small gift shop offering the usual tourist souvenirs.
Virtually every non-residence building in Vianden is a hotel, a restaurant, or both. Prices and cuisines vary wildly; you can find everything from €5-7/meal snack bars (hamburgers, chicken patties, fries, etc.) to high-end restaurants serving traditional French and/or German cuisine (€30+). You can also find pizza, pasta, Chinese food, and all manner of desserts.