I was in Cuba for 8 days/7 nights.
4 days/3 nights were spent in Havana. 2 days/1 night was spent in Vinales, ½ day and 1 night was spent in Cienfuegos and 1 day 1 night was spent in Trinidad. Check out this Google map of our route.
We easily got around by hiring a driver or a taxi collectivo (shared cab) for each destination. These cars were most often arranged by our Airbnb host. We never had an issue finding a car service and most of the rides were about $35 per person. I’ve heard good things about the bus service in Cuba (but never took it myself) and it’s apparently easy to rent a car. If I went back I would probably still do it the same way and get drivers btwn the destinations because it made things a lot easier. That being said – note that most cars don’t have seat belts and that made me a bit nervous on several of these rides as they cars are old and people drive FAST.
I think you would need at least 6 nights/7 days to complete the itinerary that I did. That being said, if you have less time than I did, I think it’s still worth a trip to Cuba. If you have less than a week, I would spend your time in Havana (for a taste of city life) and Viñales (for a taste of country life) . Even if you only have time to go to Havana, I think it will still be a wonderful trip.