Hi Faheem,
That's not easy task to compare these options especially in situation I don't know what you're trying to achieve.
Briefly...
Genesys TServer - proven solution used by thousands customers over the world, supports multiple switches, opens the "door" to other Genesys solutions like intelligent routing, reporting, workforce management etc. There are SDKs available to talk with TServer allowing development of agent desktop applications or any other integrations. It's commercial so you have pay to get it.
Writing your own TServer - it's possible but it means you're going to "re-invent the wheel"

.
Pros
- You know what are running as it's your code
- You can implement features not supported by TServer
Cons
- Your TServer won't be compatible with "Genesys world" so you have to develop reporting,routing and other solutions as well
- Your TServer will support only your switch and you have to check the functionality every time you upgrade your switch
- It could be a tricky to get official support from switch vendor
- You need someone with excellent knowledge of the switch to support developers during testing
- I assume you have to pay some fee to switch vendor
- Time for development and testing - talking about months IMHO
- Cost of such development
Hope it helps you
R.