Setelah itu, Franco menghabiskan tiga tahun di Spanyol bermain untuk Villarreal, tetapi karirnya terganggu oleh cedera. Pada musim pertamanya, Franco membantu Villarreal mencapai semifinal Liga Champions UEFA di mana mereka kalah dari Arsenal. Franco juga mencetak gol yang mengantarkan Villarreal lolos ke Piala UEFA dalam kemenangan 1-0 melawan Celta de Vigo. Pada September 2009, Franco bergabung dengan West Ham United dengan kontrak satu tahun, menjadi pemain Meksiko pertama yang bermain untuk klub tersebut. Ia membuat debutnya untuk West Ham pada 17 Oktober 2009 dalam kekalahan 2-1 saat tandang melawan Stoke City. Franco mencetak gol pertamanya untuk tim pada 31 Oktober 2009 untuk membawa mereka unggul 1-0 melawan Sunderland saat tandang, dalam pertandingan yang berakhir dengan skor 2-2. Franco menjadi pemain Meksiko ketiga yang mencetak gol di Liga Premier, setelah Jared Borgetti dan Carlos Vela. Pada 24 April 2010, Franco memberikan assist kepada Scott Parker yang mencetak gol kemenangan dalam kemenangan 3-2 melawan Wigan Athletic, sebuah kemenangan yang menyelamatkan mereka dari degradasi. Pada bulan Mei, diumumkan bahwa West Ham akan melepas Franco.
Setelah itu, Franco bergabung dengan Vélez Sársfield di Argentina pada Januari 2011. Ia menandatangani kontrak selama satu tahun dan membuat debutnya sebagai pemain pengganti pada pertandingan melawan Independiente yang berakhir imbang 2-2 pada awal musim 2011 Clausura. Namun, ia mengalami cedera bahu yang membuatnya absen sepanjang musim. Meskipun hanya bermain kurang dari 30 menit, ia menawarkan klub untuk mengakhiri kontraknya atau menangguhkan pembayaran gajinya sampai ia pulih, namun Vélez menolaknya. Franco kembali bermain pada perempat final Copa Libertadores 2011, masuk sebagai pemain pengganti dan mencetak satu gol melalui penalti dalam kemenangan 4-2 melawan Libertad. Ia juga bermain dalam 5 pertandingan terakhir musim 2011 Clausura (satu sebagai pemain inti), membantu timnya meraih gelar juara liga Argentina.
Pada 21 Januari 2012, Franco bergabung dengan Pachuca di Divisi Primera Meksiko. Pada musim berikutnya, ia bergabung dengan Chicago Fire di Major League Soccer. Franco kemudian mengumumkan pensiun dari sepak bola pada 29 Januari 2013.
Secara internasional, Franco menjadi warga negara Meksiko setelah menetap di Meksiko pada tahun 2002 dan membuat debut di tim nasional pada tahun 2005. Ia bermain di Piala Dunia FIFA 2006 dan menjadi bagian dari skuad Piala Emas CONCACAF 2009. Selama kualifikasi Piala Dunia 2010, ia mencetak dua gol.