If you add changes in the dashboard, aren't those stored in the database? If that's true, then every time a page is built, php has to be run and the database queried?
I prefer the cloning method, but this in itself is clunky. Could we not have child themes instead? That way people could store all their changes in one static css file which could be served more efficiently (e.g. by nginx).