In the Pokemon animated series, Pikachu has never evolved to Raichu because PIkachu refuses to evolve (I guess this Pikachu hates Thunderstones).
Actually, the fact is Pikachu is also not evolving at all mainly due the fact that Pikachu is one of the most popular cartoon characters of all time. Ash's Pikachu is basically the most popular character in the Pokemon TV series.
I'm not from their company, but I'm guessing that when the company decides to evolve Ash's Pikachu to Raichu, they fear that the series may likely go downhill and Pokemon products won't be that popular anymore. They did make episodes that try to make Pikachu evolve, but they make sure they make it end with Pikachu not evolving (maybe to make it more interesting to see the what outcome is).
Sure, attempts to evolve Pikachu were done in only 3 times in all the 12 series (542 Pokemon episodes seen in Japan, and 518 in the US). Yet all the attempts have resulted with Pikachu not evolving in the end. Here's 3 attempts shown in episodes aired (or to be aired) in the US and Japan
The first attempt is in the first series on episode 014: "Electric Shock Showdown". During the Vermillion City gym battle against Lt. Surge, the first battle had Lt. Surge's Raichu defeated Ash's Pikachu and Ash lost the match. After the battle, Lt. Surge taunted Ash and told him he would of won the match if Pikachu evolved.
In the Pokemon Center, Ash wanted to give Pikachu a Thunderstone so he could evolve him to Raichu. Pikachu Refused.
According to Team Rocket's Meowth (Team Rocket was outside the Pokemon Center looking through a window), Meowth said that Pikachu refuses to evolve because he wanted to do this to show every Pikachu in the world how a Pikachu can beat it's evolved form (Raichu).
In the rematch, Ash's Pikachu defeated Lt. Surge's Raichu by using speed-based moves that Raichu lacked.
The second attempt wasn't done by Ash, but a attempt by Team Rocket in Diamond and Pearl episode DP021 (Ep#489): "Ya See We Want an Evolution!". After Team Rocket failed evolve the B-button league's Magikarp and Feebas with their evolution machine, Team Rocket tried to evolve Pikachu with it.
Two attempts were done, and both times failed. When they thought they successfully turned the machine to a giant robot, the robot suddenly collapsed (the manual Meowth was reading said that to turn to the robot, it had to complete an evolution first).
Pikachu, Magikarp, and Feebas made Team Rocket "blast off" again (as usual) in the end.
The next attempt is to be seen in Pokemon Diamond & Pearl episode DP074 (Ep#542): "Pikachu! Raichu! The Road to Evolution!" (this is the Japanese title, US title not claimed yet). In this episode, Ash meets up with a trainer who owns a Pichu and a Raichu and he also wanted to catch a Pikachu to catch all of the stages of Pikachu's evolution {it's obvious to Pokemon fans that Pichu (Basic form/Baby form) evolves to Pikachu (Stage 1) which evolves to Raichu (Stage 2/Final form) anyway}. This trainer mistakes Ash's Pikachu as a wild one.
Since it just aired in Japan 3 days ago, not much is given about it to people in the US, but according to Bulbapedia, Ash's Pikachu refuses to evolve to Raichu again and wins against that trainer's Raichu (just like the Lt. Surge episode, Pikachu will be pushed to evolve again, in a picture, Pikachu lays down and stares angrily at a Thunderstone on the stand as seen on the link mentioned below).
I think Pikachu isn't being cowardly to choose to not evolve to Raichu, It's actually brave of him as it is a fact that evolved Pokemon are usually more powerful than earlier stages.