Join field is very slow. One of the reasons that Join Field is slow is because that Join Field copies features into a new output. It should ultimately be up to the end user to decide if they want to make a copy of the data or append the data to the file they already have. After all a copy feature is not required to do an inner join. By allowing the user to append fields to an input file this will significantly speed up a join. If performance is an issue, then do not use join field, but instead use a search cursor and then an update cursor with either a dictionary or a generator. This tool: http://www.arcgis.com/home/item.html?id=da1540fb59d84b7cb02627856f65a98d will work and appends fields instead of creating a new output.