I started playing in TBC as a priest (healer) and have mained it all the way up to Legion when I finally took the plunge and switched my main to a hunter.
For years, I levelled alts in between playing my priest in thought that I might change my main to them but I never did because like you I was so attached to my character after all these years and also back then mounts/pets weren’t account wide so I didn’t want to lose those as well. But that is one of the positives of main changing today.
I finally decided to main change in Legion because I had had enough of the class after 10 years, I’m happy levelling her for an alt but I needed to play something ‘new’ to keep me excited about logging in as I was starting to feel like a chore playing my priest, I could heal with my eyes closed kinda thing. Anyway, it was the right decision for me. I am having an absolute blast playing a hunter and I don’t regret it. The only thing that niggles at me every now and then is my reputation tab. Some people don’t care about it, others do. I loved the completed feeling of seeing all those green exalted reps. But at least the grand total of reps are account wide.
Something else I did, I made my hunter look like my priest and took my priest’s name whilst I name changed my priest to something new and gave her a complete new look so it felt like it was still my main character after all those years just adventuring as a hunter now.
All in all, I would say try it. Switch your main to something new, play for one to two months treating them as your main. You will know if it’s the right decision or not because you will either come crawling back or won’t.