Unless you have some special personal reason for going to Bucharest, I'd be inclined to pull it out of the loop and give that time to Vienna.
Or, if Bucharest is a "must" and Sofia just happens to be on the list, I'd pull Sofia out. Would still give those days to Vienna.
I do agree with
Mwenenzi as to train travel. There is a wealth of train travel info on www.seat61.com.
I like your middle of the day traveling. No rising at the crack of dawn, or risking getting stuck if you have the last plane/train out and there is an issue.
For a longer distance leg, you might consider a night train with a bed. You can sometimes replace a hotel night this way, and it is another adventure.