En primer lugar, su hija. Como tiene tanto pasaporte estadounidense como iraní, puede entrar en todos los países de su viaje, por lo que no necesita ningún visado.
Sin embargo, su situación es un poco más difícil.
Como ciudadano iraní con tarjeta verde de EE.UU. se le permite el "tránsito sin visado" en los aeropuertos de Suiza y Alemania.
SIN EMBARGO, TWOV sólo está disponible cuando se conecta desde un vuelo que se originó fuera de la Espacio Schengen Y conectar con un vuelo que tenga como destino una zona fuera del espacio Schengen. Para su itinerario, éste NO es el caso. Para coger su vuelo de Zúrich a Fráncfort tendrá que pasar el control de pasaportes y entrar en el espacio Schengen. Su vuelo a Francfort es entonces similar a un vuelo "doméstico", tras lo cual tendrá que pasar de nuevo por el control de pasaportes para salir de la región Schengen para su vuelo a Teherán.
No sólo no está permitido en el marco de la TWOV, sino que tampoco está permitido utilizar un visado de tránsito, ya que saldrá del aeropuerto estando en el espacio Schengen (durante su vuelo de Zúrich a Francfort)
Por lo tanto, tendrá que solicitar un visado, y concretamente necesitará un visado de corta duración (no un visado de tránsito).
Puede que te resulte más fácil cambiar tus vuelos de forma que sólo pases por un único país Schengen, en cuyo caso probablemente no necesitarás visado. Por ejemplo, Miami -> Fráncfort -> Teherán te permitiría utilizar el TWOV, y por tanto no sería necesario el visado.