you can set sender dependant transport on a domain basis by adding smtp2go/… under System->Configuration->Routing, then choose the domain transport in the domain config for each of your 50 or so domains or use the API.
The API endpoint for creating sdts is at https://mailcow.host/api/v1/add/relayhost as per this. Then fetch the relayhost id and post it to the domain endpoint at https://mailcow.host/api/v1/edit/domain using the “relayhost” attribute.
Alternatively, adding a transport map would take precedence over all sender dependant transport maps and route all outgoing mail via the defined host (can be done on the same config page below sdt). This might be what your looking for. If you want smtp2go as your default for all mail, add it and use regex to match all hosts under transport maps.
API endpoint for global transport maps is at https://mailcow.host/api/v1/add/transport/all .
I also use smtp2go and prefer sender dependant transport for each domain, using different smtp users at smtp2go for more flexibility as it allows me to compartmentalise clients needs and a more granular approach in general, especially if 50 domains = 50 different clients. If one of those clients gets a bad rep (with smtp2go), all other domains will suffer as well. Sth to consider maybe, in case your not the owner for the 50 domains.
Hope this helps.