I've found that using <paper-toggle-button>, the 'core-change' event bubbles all the way up through the DOM to the window itself, but the 'change' event stops at the closest shadow root.
Examining the two events, the only difference I can see is the type ('core-change' vs. 'change') and the path (where the 'core-change' event goes up to the window and 'change' does not). What determines which events do this? Is there a way to get built-in events to bubble across shadow layers?