Best option: get your own domain
Second best: email provider you will stick with for the long haul.
Last resort: ISP email
I used my cox.net email address for years. Worked great until I moved out of the cox service area. That’s when I switched to my me.com address. Been very happy with it.
Switching over was a pain but there are a few tricks that help. First change all your online accounts to the new address. Inform all your contacts of the new address. Once that’s done setup a rule that forwards all email sent to the old address to a specific mailbox. In my case I just called it Cox. That way I could individually deal with the stragglers.
I’m not a fan of gmail because it doesn’t fit my way of working with email. I also have privacy concerns.
The only thing I don’t like about iCloud email is the inability to set server side rules from the client. I have to go to the iCloud.com website to work on them.