BOSTON — Jason Vargas pitched out of a July slump and Salvador Perez and Mike Moustakas homered, carrying the Kansas City Royals to their ninth straight win, a 4-2 victory over the struggling Boston Red Sox on Friday night.