Mach's problem wasn't that it had slow IPC, but rather that in terms of microkernels, Mach was pretty damn big.
There are some very fast microkernels out there, like the L4 family, which negate the IPC overhead of microkernels by being small enough to fit entirely in the L2 cache of most processors. Linux may only have the single IPC call per round trip, but it's a fucking huge kernel and there is typically a ton of cache thrashing going on.