Using a DLL does not decrease the speed of a process. Compiled code is compiled code whether it resides in a main module or a library. By putting common code into a DLL, however, you make it available to multiple projects without having to recompile it, and (as far as I know) if several active processes use the same DLL, it only has to be loaded into memory once. Furthermore, when you modify a DLL, you do not have to rebuild and reinstall the programs that use that DLL.
The downside is that you have to be very careful that any changes you make to the DLL do not break any of the programs that use it.