I've found teamcity is disappointingly slow at building my fairly large project from mercurial. It takes 5 minutes to transfer the repository sources
I've investigated and found that teamcity is cloning my repository from its cache in TeamCity\Data\system\caches\mercurial to a temporary repository in TeamCity\temp. It is then doing an update to the right revision, to send to the agent. This clone takes a long time because I have a lot of history in my repository.
Instead, you could use hg archive (which is like svn export) to get the required revision straight from your cached copy of the repository. I've timed, and this takes a quarter of the time for my repository.