Kim put his side in front with a diving header in the 57th minute. Innocent Emeghara levelled for the Swiss in the 60th before Kim scored the winner three minutes later.
The South Koreans were in control from the start of Sunday's game, breaking open the Swiss defence with strong passing movements. Park made only a single appearance for the Premier League side last season but he had a significant impact on the match.
Park came close to giving his side the lead in the ninth minute, forcing a save from Swiss goalkeeper Diego Benaglio with a close-range header. Benaglio denied him once again in the 35th when he was put through on goal.
Steven Zuber had Switzerland's first shot on goal in first-half injury time but it was easily stopped by South Korean goalkeeper Jung Sung-ryong.
South Korea kept up the pressure in the second half, and Park finally broke the deadlock with a superb header just before the hour mark.
Less than a minute later, Jung smothered a shot from Switzerland's Pajtim Kasami. And Emeghara equalized almost immediately with a powerful header that left the South Korean goalkeeper no chance.
But the Koreans were in front again just three minutes later. Kim scored with a pinpoint left-footed volley after a cross had deflected off the back of Swiss defender Fabian Frei.
Despite the setback Switzerland looked the more dangerous team for much of the second half and continued to push forward.
Kim, who completed a move to English Championship side Cardiff City from Japanese club Cerezo Osaka last week, said he is happy with the way the squad is coming together.
"I believe we are developing in every moment of this tournament, especially how the defensive organization is getting better," Kim said. "We are fully supporting the strikers from behind so we are getting more chances.
"From the moment we came together for the preparation camp we fully trusted our strikers and that brought us the goals today."
Switzerland coach Pierluigi Tami said he was pleased with his team despite the loss.
"We just have to accept this result," he said. "We had as many chances to score as South Korea.
"We coped in the first 45 minutes all over the pitch and they couldn't score. In the second 45 we played better and it could have ended 2-2 or 1-1. The game was decided by small details."
The result left the South Koreans in second place in the group, behind leaders Mexico on goal difference.
Switzerland is in third position with one point, ahead of fourth-place Gabon on goal difference.
In Sunday's earlier Group B game, Mexico beat Gabon 2-0.
The final group games will be played Tuesday when Switzerland faces Mexico and South Korea plays Gabon.