The best time to come to Bulgaria is definitely during the period between June and October.
From March to May, Spring is warm and wet, but the weather is uncertain and it can be raining a lot in April and May.
From June to August, Summer is very hot and dry, especially August, and many Bulgarian people leave the city to go to the sea or to the country. It is a very good period to visit Sofia.
In September, the weather is good and flight prices can be very attractive.
From November to February, Winters in Sofia used to be icy cold, with heavy snowfalls, but the past winters tend to be warmer. From January to March, the weather is perfect for skiing or more generally to enjoy Bulgarian Ski resorts.