I assume you are on an english keyboard layout? If so, you might want to consider to activate the "U.S. International - PC" keyboard as input source for OSX. You can write ä,ö,ü as " followed by a/o/e (other accented letters can be created in a similar way) and ß is simply alt+s. Works very smooth and fast for me, I could never go back to a german keyboard layout.
Press and Hold is far more useful than that and should not be difficult to get working (change of protocol from NSTextInput to NSTextInputClient)
I strongly disagree, at least if your set of special characters is limited. Both methods need you to do two keyboard actions (accent+letter for US International method, base letter+number for special letter in the press and hold method), but press and hold involves a disturbing time delay. I am much faster with the accent+letter method. For seldom used special characters where one is not sure about the right accent/modifier key the press and hold method is superior, though. The good thing: press and hold also works with the US Intl. keyboard, so you can get the best of both worlds.
/Carsten