Slowly stalk the player like you are a predator and when you are close enough leap into the air and brandish the card with a shout and a flourish. That's the only way to do it!
Joking aside, I find that it entirely depends on the atmosphere of the game and the severity of the offense. If it is a particularly nasty challenge, that you would consider reckless in nature but not enough to send the player in question off, and it has been an intense game or it could be at the very beginning of the game, you might want to consider a short sprint to the player. By sprinting towards the scene, it allows everyone to see (players, coaches, spectators, etc.) that you are alert and focused on the game and are not going to allow any foolishness to happen on your watch.
If the offense is less severe, let's say for example, persistent infringements of the laws of the game, it can be enough to get the player's attention (make eye contact) and show the yellow card from within a reasonable distance. A reasonable distance in this case being within the vicinity of the play (10-20 yards).
Finally, sometimes you may want to make the player come to you. I like to use this approach for players that are overly ****y or mouthy for a few reasons. One, it usually annoys the Hell out of them that I am making them come to me. Two, it allows them the briefest of time to reflect on why they are coming to see me and mentally prepares them for the possible caution. Three, as the referee, you are in charge of the match - you don't need to go see every player that you are talking to.
There is no hard and fast rule as to the correct approach and it will depend on your refereeing style, what is happening during the match and the type of respect that you command from the players. Two key factors though: Make eye contact and raise the card above your head so that everyone can see it (that way there are no surprises later on if the same player gets booked again and a red card follows).