I think that there is merit in picking the best players, but the squad is there to win, and they should by definition be the best players. So it's a case of picking the best team to give you a chance of winning in the conditions. If that means spinners, pick spinners, and so on.
To pick up your Sri Lanka point, Sri Lanka did then change their makeup as soon as they got home to play Australia. They picked quicks, however limited for England, because picking more than one spinner would have been totally off piste. It works both ways.
Stokes, Woakes, Finn is a good seam attack, and shows the value of the allrounders. There is then space to utilise spinners who may not be world beaters but did enough to win a tight Test match. You could also argue that the top 4 were the reason it was so close, not the bowlers.