First, to ensure the same group of volunteers is scheduled at a particular role for a whole week - for example a Praise team that needs to be scheduled for a Wednesday rehearsal and then two services on the weekend - begin in the Ministries pane, edit the ministry, and check the "Schedule this ministry in one week blocks" option.
Now we need to change how MSP determines the "week begins." By default, MSP assumes the week begins Saturday at 2 PM, meaning everything from Saturday at 2 PM until the next Saturday is captured in the week block. So services on a weekend are by default tied to the next weekday services in the future - this does not work well if you want to tie rehearsals with upcoming weekends, and this is what we want to change.
To adjust this we want to tell MSP the week starts Sunday night, so that it captures everything from Sunday at say, 9 pm, forward until the next Sunday at 9 PM, so essentially we can envision the week begins on Monday and moves in the future to grab everything until it hits the next Sunday 9 PM.
Open any schedule, choose "Export" and make sure to use the "Tabular (ministries as columns, services as rows)" layout, and the first option will have the "week starting, Sat 2 PM" click on that blue link for "Sat 2 PM" in that option and change this to Sunday at 9 PM. Then export the schedule once to save this setting.
Now if you run a new schedule, MSP will group the weeks accordingly, wrapping Wednesday services to the next weekend, and scheduling the same volunteers for rehearsals or services midweek, and at services in the upcoming weekend.