Definitely have encountered this situation before. Best solution I came up with: creating segmentations by lead owner in Marketo. In no way is this the best/most scalable solution, but it is the one that works best with Marketo from an SFDC perspective in my experience. I had a program that would convert the owner ID into a name that was specific to Marketo, which would then add them to that lead's segmentation. This could also be a static list they are added to, just depends on the use case/situation/company requirements.
1) when lead owners change, you have to re-run/change that field
2) Troubleshooting when leads don't receive an owner: use program statuses. I used an operational program channel type that would tag those who never made it through one of the assignment campaigns
3) don't use request campaign for this!! It breaks.
Good luck! And sorry this isn't a better answer.