1) Is it better option that I get training for my team from an expert on any of these frameworks? How much time do you think they may take to learn it?
If you can afford the training from an expert then it is good. Irrespective of the quality of the trainer, the ultimate responsibility of learning anything is with the team members. Time taken to learn will depend on the effort put in by the team members. Don't expect any miracle in less than 3 months however good your team is. A reasonable time is around 5 to 6 months provided they are working on a project and not just learning.
2) Is it better I hire a Team Leader with good PHP knowledge once my team has gone through basic training ? I know, if my current team don’t know any framework, even a good team leader won’t be able to handle everything from scratch
Yes it is good to hire a team leader. He/She will definitely add value to the team because you have somebody to co-ordinate and lead. Yes, Even if the team lead knows everything it will not make a huge difference if the team is not able to pull its load because there is a limit that a team lead deliver. Most team leads pull 1 person's work, some do 2 people's work and none can do more than that because a day has only 24 hours.
3) If anyone knows any of PHP framework, would he be able to handle Magento, Joomla and other open source apps projects alone? Or I will have to hire developer for each of these applications separately?
Well - this is difficult to answer. If a person is an expert in Magento then I think he must was been handling projects in Magento for at least for 3 years or even more. So, adding up the time for Joomla, Drupal etc this will be around 10 years. A person with 10 years of experience will not be cheap. Good to find a person with around 5 to 6 years of experience who is willing to learn new framework, etc