After a goalless 90 minutes, substitute Daniel McBreen put Saints ahead early in extra-time but Rangers equalised through Nacho Novo's penalty.
Gers keeper Neil Alexander then proved the hero in the shoot-out, saving from Steven Milne and Jody Morris as the Glasgow giants triumphed 4-3.
"Anybody who takes any credit from today's game must be St Johnstone," McCoist told BBC Scotland. "I thought they were terrific. I've got a lot of sympathy for them to go out on penalties.
"But from our perspective I'm thrilled to be in the final. We're a better team than we showed today. I'm really disappointed with our performance but genuinely pleased we're through to the final."