I disagree with the accepted answer in its explanation. If you've just had lunch, you'd say "I ate" (past-tense) and not "I eat" (present tense) - even if you're saying it "just a few seconds after" having lunch. It is absurd to argue that "I win" is used because the winning has only happened in the recent past, it is being carried over to the present (although a runner might say "I win" as he is overtaking another runner).This is sledging, whereas the usage above is clearly about semantics/phraseology.
When you say "I win," you're being helpful - by effectively speaking for/on behalf of an umpire/adjudicator (or a referee), who is the proper authority to declare the winner. Conventionally, an umpire would say "Player X wins", and not "Player X won".
If there was a third person (acting as an adjudicator) physically present, and he declares one of the two players the winner, you'd certainly say "I won!" even if it was immediately/seconds after.
In linguistics, there are three honorifics assigned to any discourse : the speaker, the hearer and the bystander. Here, the speaker is speaking for the invisible bystander.
You're also likely to say "I won!" with a particularly tough-to-beat opponent, implying incredulity/emphasis.