Start by buying a decent European road atlas. Satnav and websites aren't as good for planning your type of route as good old-fashioned paper is.
Having said that, you'll still find this website useful. (It's by far the best site for planning European road travel):
http://www.viamichelin.co.uk/viamichelin/gbr/t pl/hme/MaHomePage.htm
ViaMichelin's recommended route from London to Sofija takes you via Serbia. The distance is 2371km (1474 miles). The total driving time is given as 23 hours 39 minutes but you'd need to add additional time for queuing for the ferry, for miscellaneous delays and for any extra time from your particular starting point in the UK. Theoretically you could do it in a couple of days, with each driver doing a total of around 7 hours driving per day but that's probably excessive on unfamiliar roads. In practice it would be better to allow 3 days but, even so, that doesn't allow for any sightseeing en route. To actually enjoy the journey (while seeing something of the countries you're passing through), you ought to allow 4 or, probably better, 5 days.
Revising the route to go via Timisoara and Craiova (thus avoiding Serbia) takes the journey length, from London to Sofija, up to 2667km (1658 miles), with the theoretical driving time totalling 28 hours 43 minutes. (3 days drive with no sightseeing, 4 days at a more leisurely rate, 5 days to really start enjoying the journey).
NB: If you're heading to the Bulgarian coast, you need to add another 5 hours or so to your journey. Sofija is 410km (255 miles) from Burgas, on the coast.
Chris