The 3-6 6-3 6-4 win improves Williams's record over the Swiss world number 16 to 9-0.
"This was one of the tougher matches," Williams said about the one-sided series. "I know it's frustrating for her and that probably played a role."
Former world number one Williams, now ranked 32nd, will face Meilen Tu next in a match which will leave just one American player in the tournament.
In other action, second seed Jelena Jankovic blew past Czech Iveta Benesova 6-1 6-2 in 55 minutes. Also moving on were number eight seed Tatiana Golovin, number 12 Samantha Stosur, number 13 Sybille Bammer and number 16 Alona Bondarenko.
Williams showed great spirit in her match with Schnyder.
In the decisive set, the Swiss took an early lead by breaking Williams in the fourth game for a 3-1 lead. But Williams, who as a late entry into the tournament was not seeded, broke right back, winning to love.
"That may have been my best game of the match," Williams said. "That was an important game. Coming back from being down 4-1 is really tough to do. It was great to get the break back right away."
Two games later, Williams added another break when Schnyder double faulted in succession and then put a ball into the net followed by one that sailed over the baseline. Williams let out an emphatic "yes" as the ball hit a foot beyond the line.
"Things were finally going the way I wanted them to go at that point," said Williams, a five-times grand slam winner.
"Usually when I get in these close matches, I'm used to it going my way. When I got down 1-3, I wasn't used to that. It's supposed to be 3-1 for me. So at that point I was excited."