I'm back to the infamous terminal dance... the Apple Two-Second Two-Step:
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.coreservices.appleevents.plist
sudo defaults write /System/Library/LaunchDaemons/com.apple.coreservices.appleevents ExitTimeOut -int 2
sudo launchctl load /System/Library/LaunchDaemons/com.apple.coreservices.appleevents.plist
This gives a relatively quick shutdown but it pisses me off I have to use it. (Also, I'll have to do it again any time permissions are repaired).
just did the update and all of my plist edits are unchanged (i.e. still set for 2 seconds). just curious, did yours change back to 20 seconds after the update? or is this a clean install?
also, i'd like to mention that after editing all these in 10.8.2:
com.apple.securityd
com.apple.coreservices.appleevents
com.apple.coreservices.appleid.authentication
com.apple.mDNSResponder
com.apple.diskarbitrationd
my shutdown times had significantly improved. however i was still getting an occasional 25 - 40 second stall approx 20% of the time so i changed to verbose boot mode (which also gives a verbose shutdown) to see what where exactly the stall was happening. interestingly since changing the boot args to verbose i haven't had a single slow shutdown in over a month. i have no idea if this is pure coincidence but felt it's worth mentioning.
updated to 10.8.3 today and still consistently getting 5 - 10 second shutdowns. for me this is acceptable.