TFS should live fairly happily with other IIS applications however you must have your Sharepoint instance configured to be equally happy with other services. TFS is not happy if installed on a domain controller, but provided IIS has all the pre-requisites, this is the only TFS AT on that server, no other sites in IIS are listening to port 8080 and you keep the TFS instance in it's own application pool then I think things should work out but I have never done it in that order. I've had additional applications running on the IIS instance set up for TFS when TFS was set up first - but not add a TFS instance to an existing production IIS instance.
That said, I would be very tempted to have TFS on it's own IIS instance. As the version control and work item tracking system is usually fairly critical to the life of a software development organization you want to make sure that this critical server is not affected by other applications in the organization. You want it to have the love and attention given to a production environment. Also - when you are getting started with installing TFS you can sometimes run into issues. Being able to wipe the box clean and start all over again ensuring you are following the installation instructions step by step is a handy fall back position (more true in the TFS 2005 days than now, but old habbits die hard).
Additionally, TFS comes with a license for SQL Server provided that SQL Server instance is only used for the TFS application.
Because of all this, I would rather have a TFS server running the Application Tier and Data Tier on the same server than have an AT on a share IIS box. I think I would even rather have the application tier running on a virtualized environment running on that shared box.