Although not as ideal as being able to filter by time period, I did find a band-aid fix to this issue.
If you bring up the "Report" view of a Program Performance report, you can right-click on any of the column headers and a drop-down will appear with an option for "Columns".
If you select "Columns", one additional column option is offered for "Created At". If you add this column and export the report data, this at least offers a starting point for trimming out the programs you do not wish to include in your analysis (i.e. programs that ran last year or multiple years ago). Please be aware that any ongoing programs (such as engagement programs) may date back a few years as opposed to one-off email send programs that you may have recently run, so you'll want to take the channel under careful consideration when determining what should be included.
Hope this helps.
If you have set a cost tag in your program, you can select the filter "Period cost" and set the dates on it: https://experienceleague.adobe.com/docs/marketo/using/product-docs/core-marketo-concepts/programs/pr...
But.. if your program has no cost tag, then this filter "Period cost" won't work.
I have raised an idea about this issue. Go vote for it! 🙂