If you want snow then you must visit in January or February but if you want to see beauty of nature then I will suggest Oct- Dec is the best time. I have also been there in October 2018. Read my blog on Tripoto. You will get some idea.
Best time October- March
Lot of people every month travel to Kasol in order to visit Malan village and trek to Kheerganga. Kheerganga is approximately a 12km trek one way, and most of the visitors prefer trekking uphill one-day camping for a night an then return the next day. Few, on the other hand, start early in the morning and trek uphill and return on the same day itself but you need to have a great amount of stamina for that. Malana as of now has been closed for the general public to visit as of now till further notice. As of now you can easily visit the Kasol and trek to Kheerganga within 3 days and return to Kasol the next day.
January and February is a good time. Take a bus from Chandigarh or Delhi to Bhuntar and a cab from their to Kasol.
My suggestion would be to setup base at Kasol with Om Negi's camp. It's a beautiful place surrounded by mountains and on the banks of river Parvati.
One of the days you can go to Malana and another day you can go to Tosh.
When in Kasol you can also visit Manikaran for the hot springs. Contact Om Negi if you need. He's a helpful guy. P.S. Here is the link: http://www.negis-kasol-malana-parvati.com/
To be honest, you can visit these places in any weather condition from Jan-Dec. In case you have lesser days ( 2-3 days) prefer not to travel during rainy season as weather conditions may the affect the route and thus your travel period. Budget for 2 could be around 10-15 K if you travel via Volvo bus and stay in a decent hotel.