When a talent is for doing something - i.e. it is followed by a (nominalized) infinitive verb, as in the example sentence above - then you use zum and not für. If the talent is for a thing - i.e. it is followed by a regular noun - then you would use für. For example: Er hat ein Talent für solche Dinge "He has a talent for such things."
While zum may not feel natural to you here in this context, keep in mind what we said in a previous thread: When learning a new language, it's important to remember that different languages have different natural phrases that don't translate straight across. You should be cautious of going with what you feel sounds the most natural when you're first starting out with a language, because the natural feeling probably isn't coming from the language you're learning - it's coming from the language that you already speak.
You will come across many constructions that sound a bit odd to you as you learn German, but that's just German being German! You will get used to these different constructions over time.