Microkernels are theoretically superior. In practice however, you almost always need a compromise between theoretically superior technology and efficiently implementable technology. Linux's pluggable modules are just such a compromise, and works well.
True. However the XNU kernel based on Mach has proved that theoretical is now practical. If i'm not mistaken even Sun was trying some stuff in using Mach design and code in Solaris.
Regards,
- vihan