Sachverhalt: A. A._ ist italienischer Staatsbürger. Er wurde 1976 in der Schweiz geboren und ist hier aufgewachsen. Seit dem 14. Mai 2004 ister mit einer Schweizer Bürgerin verheiratet. Das Ehepaar hat einen Sohn (geb. am 2. Oktober 2000) und eine Tochter (geb. am 8. Juni 2004). A.a. Nach einer ersten Strafanzeige gegen A._ wegen Betruges befand sich dieser vom 17. Februar bis 15. Mai 2000 in Untersuchungshaft. Von September 2000 bis März 2002 arbeitete er bei der B._ AG als Aussendienstmitarbeiter. Im Mai 2002 reiste er mit seiner damaligen Lebenspartnerin (heutigen Ehefrau) und dem gemeinsamen Sohn nach Italien aus. Im Februar 2003 kehrten sie zurück. Vom 10. April bis 28. August 2003 befand er sich erneut in Untersuchungshaft. A.b. Am 27. August 2003 stellte das damalige Ausländeramt St. Gallen das Erlöschen der Niederlassungsbewilligung von A._ fest, nachdem er sich rund neun Monate in Italien aufgehalten hatte. Am 1. September 2003 wurde ihm eine Kurzaufenthaltsbewilligung erteilt. Nach der Heirat mit seiner heutigen Ehefrau am 14. Mai 2004 erhielt er eine Aufenthaltsbewilligung im Rahmen des Familiennachzugs. Ab August 2004 hielt sich A._ während mehr als sechs Monaten im Ausland auf, was zum Erlöschen seiner Aufenthaltsbewilligung führte (Verfügung des Migrationsamtes des Kantons St. Gallen vom 23. Mai 2011). A.c. Vom 26. März 2009 bis 20. Mai 2010 befand sich A._ erneut in Untersuchungshaft. A.d. Mit Entscheid vom 20. Januar 2011 verurteilte das Kreisgericht See-Gaster A._ wegen mehrfachen gewerbsmässigen Betrugs, mehrfacher Veruntreuung, mehrfachen betrügerischen Missbrauchs einer Datenverarbeitungsanlage, mehrfachen Check- und Kreditkartenmissbrauchs, mehrfacher Urkundenfälschung, mehrfacher Fälschung von Ausweisen, mehrfachen Erschleichens einer falschen Beurkundung, unwahrer Angaben gegenüber Handelsregisterbehörden und rechtswidrigen Aufenthalts in der Schweiz, begangen zwischen 1999 und 2009, zu einer Freiheitsstrafe von dreieinhalb Jahren. Am 21. Mai 2010 hatte er den vorzeitigen Strafvollzug angetreten und wurde am 18. März 2011 bedingt aus dem Strafvollzug entlassen. A.e. Infolge der Einreichung eines Familiennachzugsgesuchs seiner Ehefrau wurde ihm per 18. März 2011 eine bis 17. März 2016 gültige Aufenthaltsbewilligung EU/EFTA erteilt. A.f. Mit Urteil des Strafgerichts Schwyz vom 7. Mai 2015 wurde A._ wegen gewerbsmässigen Betrugs, Veruntreuung, mehrfachen Diebstahls, mehrfacher Urkundenfälschung, Geldwäscherei und versuchter Nötigung, begangen zwischen 2011 und 2014, zu einer Freiheitsstrafe von 52 Monaten als Gesamtstrafe verurteilt, unter Einbezug des nach der bedingten Entlassung nicht absolvierten Strafrests der gegen ihn am 20. Januar 2011 vom Kreisgericht See-Gaster ausgesprochenen Freiheitsstrafe. B. Mit Verfügung vom 4. Januar 2016 widerrief das Amt für Migration des Kantons Schwyz die Aufenthaltsbewilligung EU/EFTA von A._ und wies diesen zum Zeitpunkt der Haftentlassung aus der Schweiz weg. Die dagegen erhobene Beschwerde hiess der Regierungsrat des Kantons Schwyz im Kostenpunkt gut, wies sie aber im Übrigen ab (Beschwerdeentscheid vom 8. November 2016). Mit Entscheid vom 29. Mai 2017 wies das Verwaltungsgericht des Kantons Schwyz die dagegen erhobene Beschwerde ab. C. Mit Beschwerde in öffentlich-rechtlichen Angelegenheiten und subsidiärer Verfassungsbeschwerde beantragt A._ die Aufhebung des vorinstanzlichen Urteils. Seine Aufenthaltsbewilligung EU/ EFTA sei bis zum 17. März 2021 zu verlängern. Eventualiter sei der vorinstanzliche Entscheid aufzuheben und die Sache zur neuen Beurteilung an die Vorinstanz oder das Migrationsamt zurückzuweisen. Zudem beantragt er die unentgeltliche Rechtspflege und Verbeiständung. Während das Migrationsamt auf Vernehmlassung verzichtet, beantragen der Regierungsrat und das Verwaltungsgericht des Kantons Schwyz die Abweisung der Beschwerde. Das Staatssekretariat für Migration liess sich nicht vernehmen. Mit Verfügung vom 31. August 2017 wurde der Beschwerde antragsgemäss aufschiebende Wirkung zuerkannt. Am 20. Oktober 2017 reichte A._ eine abschliessende Stellungnahme ein.