Unfortunately, in case of cross tenant; the most secure way of authenticating is via Service principal only (and there is no alternative way based on my understanding)
You can use Managed Identity to connect to the source/sink within the tenant in which the Synapse pipeline belongs but the other source/sink in another tenant must be accessed via the service principal or the Keys of the other aspects (like SQL auth for Database or Access keys/SAS URL for blobs which are not a secure way)