One way that comes to my mind is using NServiceBus.Bridge as a way to move messages from one transport to the other. Here’s the documentation.
As bridge is payload-agnostic you might also need to set up additional deserializers if both sides of the bridge use different serialization formats (e.g. XML and JSON).
Last but not least, different transports support different consistency modes. If you with to bridge MSMQ and SQL transports you need to ensure that the bridge can use Distributed Transaction Coordinator (DTC) to ensure that sending/receiving is done atomically. Otherwise messages might get duplicated when going over the bridge.
Also note that the Bridge is currently developed as a community project.