Without checking, I'd absolutely think there are trains to all these cities, and if not, then at least bus services.
Why don't you get there yourself and meet up with a local person once you are there? They probably won't be as good as a professional guide, but if they went to school etc in the town they know the general history of the main historical sites.
You probably could find someone online and either offer to pay them, or alternatively they can use it as an opportunity to practice English and you treat them to a good meal or a beer or whatever. You'd be surprised how many people are open for that option worldwide.
I was travelling in Ukraine and Belarus last year, and I got several offers of people, even here on MasterRussian to meet up - without me even trying. Just a nice thing for them to do and then you return the favour with someone else once you are back home. For example if someone from here came to my city (Stockholm at the moment, or normally, London) I'd return the favour.