We did this a few years ago and loved Perugia. You have an advantage today since you can use the Trenitalia app on your phone to quickly buy tickets and look up times (some small stations have terminals that are only in Italian and may be out of service). You'll need data service on your phone.
As for your planning you'll need to spend at least a couple of hours checking train schedules and looking at maps of Italian train lines. Actually probably lots of hours. Build itineraries and list alternate times and cities; for example if you show up in Spello and after a hour or so decide it isn't for you or you've seen it all then you know Spoleto may be just 30 minutes away if you can get the direct train. Or you're in Assisi and loving it so much you decide you'll stay another two hours and catch the later train out. If you use the Trenitalia app or website be sure you use the Italian names for towns (eg "Roma" and not "Rome"). Another useful site is https://int.bahn.de/en/ which has timetables for all of Europe.
Figure you can see two towns a day; go to A in the morning, preferably passing by B, then after lunch come back to B and then home to Perugia. Or lunch in B if the times you can get from A to B are 11am and 3pm. Three cities per day seems unlikely because their schedule is your schedule. There may be fewer rides per day or inconvenient clusters of trains/buses hours apart making three difficult but maybe you're a great planner and can pull it off! In general you'll have more options (especially bus) if you're in Perugia during the week instead of the weekend.
Perugia is a regional transit hub and has many regional bus lines that visit towns the train does not. You're welcome to ride, they'll be delighted to see you onboard, but they're largely scheduled around taking people to/from work and school on weekdays so you'll see lots of times around 6-9am and the late afternoon.
The winter schedule is at https://www.fsbusitalia.it/content/dam/fsbusitalia/documenti/umbria/orari/invernali_2024-2025/012-Extra_Perugia_Ann_Bacino1.PDF Note that public and school holidays cancel service so it would be smart to check with the Perugia TI (friendly people, BTW) or at the bus station to make sure the buses you think you'll take are running. And of course keep up on train strike news.