The Spaniard started off the front row and led the opening laps before dropping down the order following his pit stop.
He then rose through the field in the final third of the race to sit third with 10 laps to go as conditions deteriorated.
“At some point in the race it really looked like it was going wrong,” Sainz explained.
“But I found myself in P3 in front of Perez towards 10 laps to the end and I said ‘OK, now it's a good opportunity to keep this position'.
“I found my good pace with the hard, I found a good feeling but suddenly I saw the rain coming.
“It was starting to rain in Turn 5 and 7 and all those of us out there on hards were struggling massively to keep the car on track while people on mediums, they looked to be having a bit more grip – they looked to be with a softer tyre managing to keep the car on track, while I was just nowhere.
“So I was at some point considering pitting for a soft tyre, just to make it to the end and in the end we decided to go for inters, the last four laps and it worked out beautifully.
“We ended up third, so good calls, good management, just a bit more obstacles than I was expecting after leading into Turn 2.”
Off the start, Sainz found himself wheel-to-wheel with George Russell as the field raced towards the Turn 2 braking zone for the first time.
He then extended a small margin in the opening laps before ceding the spot just prior to his stop on Lap 14.
“I got the best possible start on the dirty side – I mean we know here the dirty side has quite a big disadvantage from the clean side,” Sainz said.
“I think both Lewis [Hamilton] and I got away pretty decently, just I think it was Lando, George and Daniel [Ricciardo] who were just flying off the line – everyone on the left-hand side were flying.
“I managed to get side-by-side with George and then we were nearly banging wheels to see who was the one catching Lando's tow.
“When Lando drifted a bit to the right, that gave me that extra bit of tow, I managed to get good momentum and brake really late into Turn 2 around the outside and make it stick.
“It's probably one of the first times in my career I can lead a race into Turn 2, and I had to try.
“It worked well, and then unfortunately the graining came, the fuel saving, the graining, then everything went a bit more complicated than expected but leading into Turn 2 was the target and we achieved it.”
The result makes for Sainz's third podium of the year, having finished second in Monaco and third in Hungary.
However, the Russian GP result stands out to the 27-year-old as his best of the season.
“I managed to put together a very strong lap in qualifying, a good start, a good pace management in the race so yeah, hopefully I can keep improving,” he said.
“There are still a lot of things to work on, mainly the tyre management side and obviously a bit the top speed there to make sure we are not so vulnerable when we are leading a grand prix.
“I want to make sure next time I have the opportunity to lead a grand prix, I am not suffering that much with the front tyres, we are not so vulnerable on the straights and as Ferrari, we need to keep working to be a team that we want to be, that is winning races.
“We got the opportunity to lead but we didn't make it stick, to win the race so, next time I really want to enjoy that and try and make it stick.”
Sainz lies sixth in the drivers' championship with 112.5 points to his name, more than established team-mate Charles Leclerc after 15 races.
Ferrari meanwhile is fourth, 17.5 points down on McLaren in third.
Formula 1 next moves to the Turkish Grand Prix on October 8-10.