Ciao Dave,
April would be a great month to visit, just plan to still dress in layers as the weather can still turn cool in the mornings and there can be showers that lower the temperature. If you fly into Florence, you can most definitely start your time here and then move on to other towns. Are you thinking of spending the 3 weeks in Tuscany or also moving on to see other parts of Italy? And aside from not driving in the cities (always a good idea, where traffic and parking can be a headache), are you open to driving in the countryside? I ask because smaller towns sometimes can only be reached with a car, or at least more easily - think of the gorgeous Chianti countryside as well as the Val d'Orcia, which is the area most often photographed and associated with Tuscany. These areas have small towns and not easily reached either by train or bus so it would be more convenient to drive there.
So what you can do, is plan to arrive in Florence, spend at least 4 days here and then move on to places which you can reach with train or bus: Lucca and Siena would be great options, as well as Pisa and Arezzo. You could see these first, ending with Arezzo and then rent a car then, to focus on going around the countryside and to smaller towns in these areas after you've seen the bigger towns that can be reached easily with train or bus.
You can visit wineries once you have a car - but if you want to drink, another option is to take organized tasting tours where the tour company organized the transportation to wineries and that way you don't have to worry about driving at all!
What do you think of these options? let me know what you have decided so far and I'll offer more ideas!