Mmm interesante la pregunta tekun. Bueno nunk me e puesto comparar cual es mas rapido o no, pero segun de lo que yo m acuerdo de la teoria no se supone que cuando tiene su aplicacion y el codigo fuente de tal clase. entonces que pasa? Viene y se la pasa al compilador y este genera el lenguaje de maquina en el EXE, ya cuando un programa esta compilado, entonces no m acuerdo muy bn si la clase que tengas siempre al final termina como DLL solamente que incrustada en nuestro exe, por tanto nosotros no la podemos manejar asi no mas.
Lo que decia Vlad tiene mucha razon, si lo que quieres es el maximo rendimiento, no deberias de estar haciendo esa separacion sino que alli mismo en la ejecucion poner eso!
AL final en cual es mejor, si vs anexas una DLL o no, la unica diferencia que yo sepa que las DLL que son de .NET, te deben de trabjar igual, pero las que son Interop o las DLL que son COM, alli si creo q hay diferencia por la forma en que trabajan por tanto tendrias un rendimiento si un poco menor!