Can anyone explain the reason why the verb "tenere" take the form "tengo", as in "io tengo", rather than the form "tegno", which sound more natural?
Why does "tegno" sound more natural and why do you think that should be the form? Let's see the etymology. The verb comes, obviously, from Latin, and more precisely from tĕnēre. The first two from the verb conjugation are tĕnĕo, tĕnes.
It's easier for it to become tengo than tegno, which even loses the root ten- and therefore fails to deliver the proper meaning.
The root is the part that delivers the meaning of a word, so it's quite important. As far as Linguistics is concerned, it's hard to always explain the why, since unless you have more data, the reasons can be many and they can change for each case.