Actually, in most cases Access does a decent job. If your query has some joins, but ESPECIALLY has some aggregate group by, then simply create a view, and then link to that view. It will likely run as fast as a pass-through query, but without the hassle and effort on the Access side.
So in most cases, you should be able obtain excellent performance when using Access as a front end to SQL server.
So, for calling store procedures, or for some reports, you can consider using pass-through query.
However, to save time and effort on your part, then for quires with a join and especially those with aggregates like group by or count, then just create a view server side and then link to that.
You find the performance first rate when you do this.