performance wise i would only recommend file_per_table for smaller installations. On busy systems the plus on file handlers and file descriptors will cost you performance.
Even on smaller installation its debatable if file_per_table is worth it. If a user really decides to do some spring cleaning and delete large portions of his mail, you'd still have to run optimize_table to regain disk space. An optimize_table will then take your database offline while it dumps and reimports all your data.