Erica,
Technically you can do what you want with the Program to SFDC Campaign Sync. I've just seen errors pop up if you get the Member Status wrong in SFDC, you get errors later. Once you sync these, you cannot use the SFDC Campaign flow steps.
So I was highly recommending that you avoid potential errors by not syncing the program automatically. You can use a my token for SFDC Campaign in the flow steps.
But regardless of what you do, someone will have to spend a few steps adding SFDC Campaigns somewhere. Program Templates can only reduce the steps to some degree, mostly with assets.
I have run some tests and it does work. In other words, if the lead is added at the SFDC side and it then syncs to Marketo, it will trigger on the Program Status is changed (to Member).
I agree that the campaign needs to be stated somewhere. I just prefer to keep all user setup in tokens. We always sync to SFDC campaigns because reporting is mainly done from SFDC while the marketing work happens in Marketo. Whilst I could put in flow steps to add to the SFDC campaigns and change the statuses, I prefer to take advantage of the sync capabilities. The issue of wrong statuses at the SFDC end is handled by a process of creating the SFDC campaign from Marketo with the same name as the program name. The statuses then get created to be the same as the program statuses by the sync, although that can take a good few minutes.
This is one of those cases when you have to build around a reality rather than an ideal scenario. I would much rather program statuses were all determined and run from Marketo but that isn't the reality here.
Thanks for the alternative view, it is always good to get other approaches.