I actually really like the 3DS at the moment. My 3DS XL fits my hands very well, and it's easy to see everything on the screen. However, not having played every game on every system, it's hard to judge. I've enjoyed using my DS and DS lite as well, but the size of the 3DS works well, and my screen is easier to see because I didn't put a screen protector on it that bubbled over time like the ones on my DS and DS lite did. On all of the DS-type systems, the backlight was a big plus. I spent way too much time trying to avoid glare while looking at various GameBoy screens with my wormlight, so I'm happy that that particular issue is in the past.
For consoles, I really liked the GameCube games, and those have to be about the best graphics we've had in Pokemon thus far. Using my TV wasn't as convenient as using a handheld, but my wireless Wavebird controller worked well. Connecting my GBA to it was a bit of a pain, though, due to the short length of the cable. I really like the N64 games, but I feel like I had to hold the controller kind of awkwardly to make sure the transfer pak stayed in properly with Stadium and Stadium 2, so that was a bit of a pain.
I have the best memories of the games from the GameBoy family of systems, though I don't think it was really because of the systems themselves. I started out on GB Pocket, which I enjoyed, despite the lack of color when all of my friends owned GBCs. As a result, I think I'm having less of an issue with the monochrome on the VC re-releases than a lot of people have. In any event, I spent most of my time in Red and the main story of Gold in monochrome. I then used my GBC for gens I and II for a bit (only for a few months before the GBA came out, so aside from gameplay and trading, a lot of my GBC Pokemon use was for Wonder Trade in GSC), and then GBA for gens I, II, and III. Then I switched to playing both then gen III and the gen IV and V games on DS, and now gen 6 and gen I remakes on 3DS.
So in summary: Best systems for playing Pokemon = 3DS XL and GameCube, best memories (and therefore, best time playing Pokemon) = GB family systems.