Aguero put the visitors 2-0 up in the first half before Guendogan struck for his brace in the final 11 minutes.
"After six games without winning we needed that for the head," City's Pep Guardiola said after ending the longest winless run of his managerial career.
Alexis Sanchez and substitute Olivier Giroud each scored twice as Arsenal extended their unbeaten runs to nine in the league and 14 overall.
The Gunners scored three goals in seven minutes after Sunderland equalised in the second half.
"It was a mental test when we were at 1-1," manager Arsene Wenger told the BBC. "We have shown great strength to bounce back.
"We responded well and in the end it was a comfortable win."
Sunderland's two points from 10 games is the worst start in Premier League history.
Liverpool made it eight unbeaten in the league with an entertaining win at Selhurst Park. Emre Can and Dejan Lovren both gave the Reds the lead only to have James McArthur answer each times.
Joel Matip then headed the visitors back in front just before half-time and Roberto Firmino settled things in the 71st minute.
"We know it's a difficult place to come, it was a battle throughout the game," Liverpool captain Jordan Henderson told BT Sport.
"We are delighted with the three points."
Manchester United dominated but were held 0-0 by Burnley in which Ander Herrera and manager Jose Mourinho were sent off.
United had 37 shot attempts, 11 on target but couldn't beat Tom Heaton who pulled off several spectacular stops.
Mourinho was dismissed by referee Mark Clattenburg at half-time and Herrera was shown a second yellow in the 68th minute.
Champions Leicester secured their first away point with a 1-1 draw at Tottenham. Ahmed Musa's second-half goal canceled out Vincent Janssen's penalty just before the break at White Hart Lane.
Tottenham remain the league's only unbeaten team but a third straight draw left them three points back in fourth.
Gaston Ramirez and Stewart Downing scored as Middlesbrough beat Bournemouth 2-0 for their first win in nine and Watford handed Hull a sixth straight loss 1-0 thanks to Michael Dawson's own goal.
Everton host West Ham and Chelsea visit Southampton in Sunday's matches.