Trading with yourself is an experience everybody needs to have. Making the music in both games just barely line up wrong so it sounds like you're in the Poké Space Center, mashing A on two handhelds at once... it's really magical. I don't think I've ever had a real trade, though. You know, like "Give me that one there, and you can have this egg." With other people it's always been "Okay, I need one of those in my Pokédex, and I need this to evolve... okay. Time to trade back."
The best thing ever, though, is mixing records. I set up my secret base in Ruby with how it'd look on another person's game in mind. After beating the Elite Four, you get to fight your friend's party in their base every day. I have done a sequence of trading to get my FireRed team fightable in Ruby, and it's not that easy. I know all my traps now, of course... but the first time, I actually walked right into them and got beaten pretty badly.