You have two options. One is to add a trigger term as part of the query to trigger a query rule which then changes the result source. This works as long as you don't have special characters in the query ()"-AND ANY etc.
The other option involves adding JavaScript to the page, and hook in to the add_queryIssuing event for the dataprovider of the webpart. Here you can change the result source you are targeting based on e.g. URL params. I have some code at https://github.com/wobba/Scripts/blob/master/mAdcOW.queryVariableInjector.ts which shows how to add code to hook in the code and event - allthough the sample does something different.
To make this work you need to set the web part in async mode so that the script can hook in before the first query is executed.
Hope this helps a bit on the way to excellence :)