From Bulbapedia:
Despite it being one of the key aspects of the games, trading is unusually rare in the anime. Only a few trades have taken place, and only four of them thus far have been truly significant. Fans have often speculated about the reason for this. Rather than simply exchanging Pokémon, most trades are carried out by placing Poké Balls into a specialized trading machine, with a monitor that displays silhouettes of the two Pokémon as they pass each other.
In Battle Aboard the St. Anne, Ash traded his Butterfree for a Gentleman's Raticate. He wasn't happy with the trade, however, so he traded it back by the end of the episode.
In Tricks of the Trade, Jessie unintentionally traded her Lickitung for Benny's Wobbuffet.
In Here's Lookin' at You, Elekid, James is forced by Jessie to trade his Victreebel for the Magikarp salesman's Weepinbell.
In Throwing the Track Switch, Ash traded his Aipom for Dawn's Buizel.