Best way to distribute templates and code accross multiple wordpress sites?

You can bundle the files into a plugin.

For the Christmas page, you could use the page_template filter – This question gives you an example on how to use it – Create custom page templates with plugins?

For the CSS/JS file, you can add them using the wp_enqueue_scripts action, as you would normally use in a theme. The only difference is that you’ll need to use plugin_dir_url() to link to the target files.

Finally, for updating the plugins easily, there are a bunch of libraries like this one which allows you to have the one click updates for your plugins like you normally have for plugins hosted in the WordPress repositories.

error code: 523