We've tried two external parties for this task. First got bought by a competitor to most of our customers so became a big no-go. Second got bought and went off in another direction.
That's why we're looking at doing this in-house (via Azure or something ala this) even though we really don't want to.