Kyle was booked in the 32nd minute for a foul and Royle reckoned referee Stuart Mathieson should have sent him off for at least another two bookable offences.
"I don't like to see players sent off but the lad who scored the winner should not have even been on the pitch," said Royle.
"He could have been sent off twice in the first half and I know we will have a player sent off this season for less than that.
"I don't want to see headlines of me moaning because we have lost but that was a game I would have been disappointed even with a draw. We lost a game we should have won.
"We don't defend properly. The first goal was criminal. We are weak in certain areas, our goalkeeper has had an outstanding season yet we have not had a clean sheet.''
Sunderland boss Mick McCarthy conceded Ipswich were the best side he had come up against but refused to share Royle's views on Kyle.
"I don't agree with Joe but there were too many things to come out of the game to make it an issue,'' he said.
"I thought it was a brilliant game, they were brilliant in the first but I thought we deserved to win it in the second half.
"Kyle was different class. He's exciting, he lifts the crowd, he frustrates them and he'll do for me. Markers are sick of the sight of him. He's not a dirty player and his all-round performances have improved."
Kyle atoned for squandering chances to settle an exciting game when he powered home a close-range header from a Jeff Whitley centre to set up Sunderland's fourth successive home win.
Gary Breen turned a Darren Bent shot into his own net in the 36th minute but made amends a minute before the break with a close-range equaliser.
John Oster fired the Black Cats into a 49th lead only for Richard Naylor to cancel it out two minutes later with a header from Jim Magilton's left-wing corner.
Sunderland: Poom, Williams, McCartney, Breen, Arca, Oster, Whitley, Healy, Butler, Kyle, Stewart. Subs: Tommy Smith, Ingham, Proctor, Bjorklund, Leadbitter.
Ipswich: Davis, Wilnis, Santos, Naylor, Richards, Wright, Bart-Williams, Magilton, Counago, Kuqi, Bent. Subs: Price, Armstrong, Bowditch, Mahon, Nash.
Referee: Scott Mathieson (Cheshire).