We have a similar setup - our own warehouse, 3PL, and many drop ship suppliers. We opted to NOT use the multi-location feature in Shopify because of this. I chatted with Shopify dev regarding the issue and it sounded like there is a forthcoming beta that would give you more control over draft fulfillments; however, there would still be limitations with how the system would prioritize selecting a location. For example, you could not easily, setup a rule so that the nearest warehouse to the customer was used for fulfillment.
At a high-level we process the Shopify create order webhook, and then in our backend determine who / how to fulfill. We then send the orders to the appropriate fulfillment provider.
I got pointed to this document from a shopify success manager, seems like new functionality is in the DEV api ready to be tested:
so it should become available soon.