I'm not sure yet, but probably a custom action like you said. Delegated keys is something I was hoping to start working on in next few months. Once I dig in I'll know more.
While for a custom action, the identity manager / wallet could both sign, build and broadcast the TX, then return TXID in response.
For compatibility, offer a generic solution as well