Ask your friend to pick a card of his choice from the deck.
Do a "Hindu Shuffle" with the deck by splitting the deck in half and place one half in each hand. Quickly take the cards off the top of the deck in your right hand (held between your thumb and fingers) with the fingers of your left hand and place them in the palm of your left hand, which is lower than the original deck. Keep the cards in your left hand close to the original deck as you do so, which makes it appear that you are shuffling the deck but in actuality, all the cards remain in the same order.
Ask your friend to say "stop" when he wants you to stop. Have him place his chosen card face down into the middle of the deck where he has told you to stop.
Place the remaining cards in your right hand over his card while subtly holding the thumb of your right hand separating the spot where his card is and continue doing the Hindu shuffle until his card is on top of the pile.
Tell your friend to cut the cards anywhere he likes and lay the two halves of the deck side by side on the table. Place the bottom half of the deck sideways on the top part of the deck where they have cut the cards. Tell them that you are marking the spot where they cut.
Distract your friend by going over what you just did. They picked a random card, then placed it in the middle of the deck, then you shuffled it into the deck and to make it even more difficult to find their chosen card, your friend then cut the cards. By going over this with him, you misdirect his attention causing them to forget what happened and miss your trick in Step 7.
Tell your friend that you believe the card is right where he cut the deck. Then remove the top half of the deck and turn over the card on top of the bottom half of the deck. This was the top card all along and is his chosen card.