Roofe scored a superb quickfire double as League Two side United stunned their Premier League visitors in the only major shock of the third round.
Swansea began with a superb Jefferson Montero strike which would have lit up any game, but ended up with a chastening defeat which was compounded by an an alleged altercation between Jonjo Shelvey and some of the travelling supporters.
Appleton said: “I thought the performance was magnificent. To beat a Premier League team on your own patch is one thing, but the way we did it, the way we passed the ball and the chances we created at times was great.
“We had to dig deep when it was 3-2 but we showed a lot of composure in defence.
“We knew if we stuck to what we do best that we’d get opportunities. We pressed as high as we could and I think it unsettled them at times.”
There was little sign of the drama to come when Swansea took the lead, albeit against the run of play. Montero charged into the area, played a neat one-two with Marvin Emnes and impudently back-heeled the ball past United goalkeeper Sam Slocombe.
But Oxford deservedly hit back through Liam Sercombe’s penalty, after Kyle Bartley’s foul on Alex McDonald, just before half-time.
Roofe then stole the show after the break, firing in a stunning curler from the edge of the area before starting and finishing a lightning breakaway which began with his header from Swansea’s corner.
The 23-year-old, who joined Oxford from West Brom in the summer, is already attracting admiring advances from Championship clubs, and after this performance Premier League sides will probably start taking notice as well.
But Appleton added: “He’s an Oxford United player and he’s happy to be one. He’s enjoying his football and improving day by day.”
Roofe himself was quick to play down his heroics. “I think we bring our best performances for a big crowd,” he said.
“Everyone on that pitch put in a shift. We had no nerves as we were the underdogs.”
Bafetimbi Gomis pulled one back for the Swans, but they never really looked like finding an equaliser.
Midfielder Shelvey went over to the crowd after the match, but one or two supporters apparently gave him a rather blunt assessment of his performance. “I saw him go over but I thought everything was OK,” said manager Alan Curtis. “But there is a suggestion some of the crowd were having a go at him, but I didn’t see that.”
Curtis made 10 changes to his side for what was his first match in charge since being named manager until the end of the season, but his decision backfired spectacularly.
“It’s hugely disappointing,” he added. “Credit to Oxford, they were more energetic and passed better. We made changes but still had lots of experience, but Oxford thoroughly deserved to beat us.”
Slocombe, Baldock, Mullins, Wright, Skarz, MacDonald (O’Dowda 71), Sercombe, Lundstram, Maguire, Taylor (Hylton 80), Roofe (Hoban 90).
Buchel, Ruffels, Dunkley, Evans.
Nordfeldt, Shephard, Bartley, Amat, Tabanou (Kingsley 60), Cork, Grimes (Barrow 76), Emnes, Shelvey, Montero, Gomis.
Eder, Tremmel, James, Fulton, Rodon.
Kevin Friend (Leicestershire).