When using wp_enqueue_script(); in a theme why don’t we use add_action?

It is required, actually.

There’s no real difference between themes and plugins as such. Neither of them should take actions on merely being loaded, they should use action hooks on functions to have things happen in the correct ordering.