They've done a pretty good job automating the provisioning stuff. It still can be annoying to debug when it doesn't work, but for an individual or a small team it's pretty seamless these days.
I will agree with you about the Push Notifications (and other related features like IAP, GameCenter, etc).
Any company larger than a handful of developers should be using an Enterprise account, which costs about as much as three individual accounts, and has no limit to the number of devices for testing.