10.9: Preferences are cached
The API documentation states that the cache is synchronized with the on-disk plist file contents periodically, but does not indicate how often, let alone how to flush the cache manually.
Logging out and back in appears to flush the user defauts cache, but other than that, the defaults command is currently the only way to reliably change preferences without waiting for the timeout.