It depends on what you ultimately want to track and measure.
In general, I advocate creating programs based on specific spends so you can answer the question "should we limit this line on the budget or double it next year?" This gets messy with content/email programs because the costs are not allocated well, but in general the same email iniative would be one program even with multiple audiences.
A second reason to create more programs is to use them as a communication with your sales team. If you sync to SFDC Campaigns and your sales team relies on these as background on every prospect, theres good justification to create separate Programs. Getting the sale is more important, here, than perfect reports.
If you're using RCA, then one program for the specific email follow up, combined with the separate programs for each partner, will give you a decent view of attribution for new opportunities.