Participated in 2000 Summer Olympics in Sydney, where he finished 13th place in the 4×200-metre freestyle, and in 33rd place in the 200-metre freestyle.
Castro was at the 2004 Summer Olympics in Athens, where he finished 9th in the 4×200-metre freestyle, 20th in the 200-metre freestyle, and 12th in the 4×100-metre freestyle.
2004-2008
At the 2004 FINA World Swimming Championships in Indianapolis, he had his best results in Short-Course World Championships. Castro won the bronze medal in the 4×200-metre freestyle, and also was a finalist in the 200-metre freestyle, finishing in 8th place. Castro was at the 2006 FINA World Swimming Championships, in Shanghai, where he finished 7th in the 200-metre freestyle final and 5th in the 4×200-metre freestyle final He swam at the 2006 Pan Pacific Swimming Championships, where he finished 6th in the 4×200-metre freestyle, 14th in the 200-metre freestyle, 23rd in the 100-metre freestyle, and was disqualified at the 4×100-metre freestyle. Participating in the 2007 World Aquatics Championships, in Melbourne, finished 36th in the 200-metre freestyle and 11th in the 4×200-metre freestyle At the 2007 Pan American Games, in Rio de Janeiro, Rodrigo Castro won the gold medal in the 4×200-metre freestyle and finished 5th in the 200-metre freestyle. Participating in the 2008 FINA World Swimming Championships in Manchester, Castro finished 6th place in the 200-metre freestyle final.
At the 2008 Summer Olympics, participated in his third Olympics. He was in 16th place in the 200-metre freestyle and 4×200-metre freestyle. He was also in the 4×100-metre freestyle, where the Brazilian team was disqualified. Broke the Gustavo Borges' South American Record in the 200-metre freestyle in olympic pool, which had lasted 10 years, with a time of 1:47.87. After this, thought about end of his career, but officially went swimming.
2008-2012
Participated in the 2009 World Aquatics Championships in Rome, where he finished 30th place in the 200-metre freestyle and 10th in the 4×200-metre freestyle At the 2010 Pan Pacific Swimming Championships in Irvine, he finished 24th in the 200-metre freestyle, 41st in the 100-metre freestyle and 44th in the 50-metre freestyle. He was at the 2010 FINA World Swimming Championships in Dubai, where he finished 23rd in the 200-metre freestyle and 8th in the 4×200-metre freestyle. At the 2011 World Aquatics Championships in Shanghai, he finished 14th in the 4×200-metre freestyle.
Retirement
In late 2012, Castro, age 33, announced his retirement from swimming.