We use default programs for email sends (vs. separate email programs) for about 90% of time. Simply because of the flexibility that you have (multiple wave sends - which field marketers love); easier reporting; no confusing naming conventions (of the email itself) that exist when using A/B testing in email program; etc.). The only time we will use an Email Program is when we want to do automated A/B testing (and we have a large enough audience) or for some of our internal campaigns that we know will only be sent once on a regular cadence). Ideally, we would love for default programs to support automated A/B testing of batch emails (vs. Champion/Challenger). Also, Email Programs aren't supported in Engagement Programs. We use child programs in all of our EPs.
Rather than repeat what has already been shared on the community, have a look at these existing posts: