What is the “best” way to update a theme via a plugin?

Check out this link: https://developer.wordpress.org/themes/advanced-topics/child-themes/

Any php file (except the functions.php) in your parent theme will be overridden if there is a file with the same name in your child theme. So the only files you need in your child theme are those that you want to change. The functions.php file is a bit different. The child’s functions.php file will be loaded BEFORE the parent’s functions.php file, but both are loaded.