We deploy 3CX to our clients and frankly it's a breeze. Clients love it and the cost savings and flexibility a brilliant.
One thing to be aware of, if you host on 3CX servers there are access limitations to certain config elements so you may want to self host on something like AWS if you want complete control of the system.
If you're running multi-site you can run Session border controllers on a Raspberry Pi (setup takes 5 mins).
I would avoid Polycom phones as I have encoutered provisioning issues with these which can sometimes be a pain to work through, I prefer Yealink personally.
Other than that, awesome!
Good luck