I have now traveled over 20,000km on Indian railways, and I wanted to do the same too! Never had the chance though.
As of today, there are only Diesel and electronic locomotives are in run today. Riding on top of an electric obviously means you are risking your life a lot.
Mumbai is probably where it is most impossible to do so, unfortunately. Mumbai local is entirely electronic, and the power supply runs just a few feet above the train. The long distance trains that depart from Chithrapathi Shivaji terminus or Mumbai Central stations have tight security (due to 2008 bombings and the nature of Indian railway systems in general).
There is only one incident that I could get a glimpse of such experience. This is in Varanasi to Gaya railway. It is still an electronic loco, so you cannot ride on top. It was almost the mid night, and I believe it was the last train. I had no luggage to carry, and was trying to get to the train somehow just as the locals. A few people climbed to the engine, and there was a bar that you could hold on to. Also, a few people tied their foot cycles to the windows and somehow managed to stay by holding to the windows.
Not even the above wouldn't be possible in Mumbai local because the narrow railway gates and tunnels.
I'm not sure if you will be able to do so, but from what I have experienced, your best odds would be at Bihar and West Bengal (The Darjeeling train is not good either; I'm in Darjeeling right now and pretty disappointed really).
Riding on top of buses is a different story though. It is equally dangerous, but buses travel slow, and the roads are rather majestic (I have done this several times in Abhaneri, Rajastan (where the deepest Indian stepwell is located), Gaya, and Shimla)
Also, keep in mind that there are about 30,000 deaths per year from railway systems in India, so please be careful.