как насчет использования [ImportMany], чтобы получить все возможные импорты для одной и той же подписи, а затем выбрать тот, который вы хотите для определенного условия (файл конфигурации или что-то еще), из этого списка импортов?
РЕДАКТИРОВАТЬ: мне нравится ваше предложение № 3, я думаю, что это может быть легко. ваша оболочка обрабатывает реальные интерфейсы с помощью [ImportMany], а плагины запрашивают у вашей оболочки GetTheOneInterface ().