Как лучше реализовать поддержку плагинов в C#?
Не надо изобретать велосипеды есть MEF
Все зависит от конкретной задачи.
Лично я использовал скрипт машину для выполнения плагинов. Скрипты писались на IronPython. Пользователь выбирал задачу, приложение находило нужный скрипт, загружало его в ScriptHost и выполняло. Такая система удобна, если ваше приложение имеет собственное API, доступное из скриптов и любой желающий может написать свою задачу для приложения. SDK, пример.
Второй вариант - это написание библиотек на C# реализующих один интерфейс. тыц