It seems somewhat wasteful to zip the PHP files and then unzip at the target.
Is there a way to do this through composer, or some sort of web or CLI install procedure?
Joomla Stack Exchange is a question and answer site for Joomla! administrators, users, developers and designers. It only takes a minute to sign up.Sign up to join this community
You can't use composer here. But you should be able to use a git repo and pull the latest changes from there. However it doesn't take care of the SQL. So if you're installing things in your dev enviroment, it will not be installed on the production server.
If it's about modifying files, like template adjustements or extension development, then it will work fine.