Sachverhalt: A. A. und B.X._ haben ihr Hauptsteuerdomizil in U._ im Kanton Solothurn. Sie sind beide hauptberuflich (in der eigenen Firma) unselbständig erwerbstätig. Da sie in verschiedenen Kantonen Grundeigentum halten, wird A.X._ im Kanton Solothurn überdies als nebenberuflicher Liegenschaftenhändler besteuert. Im Jahre 2002 erlitt er aus der Veräusserung eines Grundstücks im Kanton Tessin einen Verlust von über Fr. ..., womit sich der steuerlich anerkannte Verlustvortrag im Kanton Solothurn per Ende 2002 auf Fr. ... belief. Am 29. April 2003 erzielte A.X._ aus der Veräusserung von fünf im Kanton Bern gelegenen Grundstücken einen Grundstückgewinn von insgesamt Fr. ..., welchen die Steuerbehörden des Kantons Bern mit Veranlagungsverfügung vom 9. Dezember 2004 mit der Grundstückgewinnsteuer erfassten. B. Für die Steuerperiode 2003 deklarierten A. und B.X._ unter Berücksichtigung des Verlustvortrages ein steuerbares Einkommen von Fr. 0. Die Veranlagungsbehörde Thal-Gäu setzte das steuerbare Einkommen auf Fr. 0 und den Verlustvortrag per 31. Dezember 2003 auf Fr. ... fest, indem sie den bereits im Kanton Bern besteuerten Grundstückgewinn mit dem Verlustvortrag verrechnete. Diese Veranlagung konnte nicht angefochten werden (Einkommen Fr. 0), womit auch dieser Verlustvortrag nicht überprüft werden konnte. Die Veranlagungen 2004 bis 2006 wiesen aufgrund des Verlustvortrags ebenfalls kein steuerbares Einkommen aus. Für die Steuerperiode 2007 deklarierten A. und B.X._, ausgehend von einem Verlustvortrag von Fr. ... (ohne den Berner Grundstückgewinn), ein steuerbares Einkommen von Fr. 0. Die Veranlagungsbehörde Thal-Gäu anerkannte demgegenüber nur einen Verlustvortrag von Fr. ..., indem sie den Berner Grundstückgewinn beim Verlustvortrag anrechnete, und setzte das steuerbare Einkommen auf Fr. ... (satzbestimmend Fr. ...) fest. Die Steuerpflichtigen führten gegen diese Veranlagung ohne Erfolg Einsprache. Mit Urteil vom 22. März 2010 wies das Steuergericht des Kantons Solothurn den Rekurs der Steuerpflichtigen ab. C. Mit Eingabe vom 3. Mai 2010 führen die Steuerpflichtigen Beschwerde in öffentlich-rechtlichen Angelegenheiten gegen die Kantone Solothurn und Bern. Sie machen geltend, der Kanton Solothurn verletze das Verbot der interkantonalen Doppelbesteuerung (Art. 127 Abs. 3 BV), da dieser den bereits im Kanton Bern versteuerten Grundstückgewinn zur Verlustverrechnung heranziehe. Sie beantragen daher, das Urteil des Steuergerichts des Kantons Solothurn vom 22. März 2010 sowie die solothurnische Veranlagung und der Einspracheentscheid vom 16. Juni 2009 seien aufzuheben; das steuerbare Einkommen sei auf Fr. 0 festzusetzen. Mit dem Eventualantrag verlangen sie, die bernische Veranlagung für den Grundstückgewinn vom 9. Dezember 2004 und der Einspracheentscheid vom 20. Juni 2008 seien aufzuheben und der Kanton Bern sei zu verpflichten, die bereits bezahlten Grundstückgewinnsteuern samt Zins zurückzuerstatten. Das Steueramt des Kantons Solothurn, die Steuerverwaltung des Kantons Bern und das Steuergericht des Kantons Solothurn schliessen auf Abweisung der Beschwerde (soweit darauf einzutreten sei). Die Eidgenössische Steuerverwaltung verzichtete auf eine Stellungnahme. 