Nothing wrong with that if it works for you. It is an extra pin that you need to wire and monitor but as you pointed out it is more efficient.I also wrote in long delays so I could observe the
data wihtout needed single step. But in my real code, I read the busy flag because that eliminates the need for delay timing.
Most of my projects are that time sensitive. A few microseconds wasted on waiting for an LCD that is ready to accept data is not going to matter to me.