It seems as though Salesforce won't allow you to run a lead through lead assignment rules twice.
It's not that... SFDC will let you rerun the rules, but you have to create the conditions under which they'll run, i.e. Apex trigger.
...but any thoughts regarding best practices regarding syncing new leads from Marketo<>SFDC as well?
We couldn't live without the Program ↔︎ Campaign sync.
That's good to know, thanks for your input. We were considering building out the Apex trigger in Salesforce, the only thing is that we send alerts to our sales team from Marketo when they get a new demo request/free trial.
My initial thought is that if we run an apex trigger to push leads owned by a queue back through LARs in Salesforce, then we we'd have to throw in a delay in Marketo to wait for the LARs to run in SFDC and also the new owner to sync back to Marketo before sending out the alert to the new sales owner.
I'm worried that there could be varying time intervals that a lead gets a new owner via the LARs and then syncs back to Marketo in order for the alert to go to the right sales rep, wouldn't want leads falling through the cracks because our alert smart campaign fired before the new owner sync'd back to Marketo.
Can you please try work flow in salesforce to send an email alert when criteria are met. I think this should fix your issue.