The fastest way to get good at a new role is to just understand everything about what the role is there for in a game and then practice to apply this to your gameplay. I recently just went to maining top. By recently, I mean it's been about 2-3 months. However, I am currently able to play at the same level that I was able to play adc at and it was my one of my worst roles before. When I tried to get better at top, I played a champion that I played in the jungle which I was confident in and very good, which was and still is poppy (currently 1 trick her but I know how to play other top lane champs). Then, I tried to see what the most important parts were to win lane at top lane. I learned that understanding what you champion kill points are and when and how you should trade. Of course this is what happens in most roles but top lane melee match ups usually take a lot of short quick trades which you need to react to. After that, I learned when I should tp bot and what the risks are for doing this. Then, I learned when I should group and when I should split. I also learned to tp flank which I often do to try to win a teamfight for my team to push down towers, get baron, or end the game. Of course, there is still a lot of things that I need to improve but I learned all of this pretty quickly since I tried to see what made top lane, top lane. For the jungle, it's to roam around helping lanes and spotting the enemy jungler out to counter jungle and other things. Adc is more about positioning in lane and teamfights. I can't really say for support since I never really got to main it, same for mid (although I do not the main parts of it).
Of course, a lot of the things to learn is about the champion you play but thinking about the role and improving that role will help you be able to succeed in that role faster than just trying to improve a champion.