Faits: A. X._, ressortissant algérien né en 1969, est arrivé en Suisse en mars 1995, au bénéfice d'une autorisation de séjour temporaire pour études. Le 2 août 1996, il a épousé une Suissesse, Y._. De cette union sont nés trois enfants, A._ en 1999, B._ en 2000 et C._ en 2002. A partir du 3 juillet 2001, l'intéressé a obtenu une autorisation d'établissement. Le 16 novembre 2001, X._ a été condamné à dix-huit mois d'emprisonnement, avec sursis pendant quatre ans, pour infractions à la loi fédérale du 3 octobre 1951 sur les stupéfiants et les substances psychotropes (ci-après: la loi sur les stupéfiants ou LStup, RS 812.121), commises entre 1998 et 2000. Par jugement pénal du 19 novembre 2004, il a été condamné à sept ans et demi de réclusion pour actes d'ordre sexuel avec des enfants, contrainte sexuelle, lésions corporelles simples, injures, désagréments causés par la confrontation à un acte d'ordre sexuel, infraction grave et contravention à la LStup, toutes ces infractions ayant été commises entre 1996 et 2003. Le sursis accordé le 16 novembre 2001 a en outre été révoqué et l'intéressé a été expulsé du territoire suisse pour une durée de cinq ans, avec un sursis de cinq ans. Le 7 mars 2006, le Service de la population et des migrants du canton de Fribourg (ci-après: le Service cantonal) a informé X._ de son intention de prononcer contre lui une décision d'expulsion du territoire de la Confédération en application de l'art. 10 al. 1 lettre a de la loi fédérale du 26 mars 1931 sur le séjour et l'établissement des étrangers (LSEE; RS 1 113 et les modifications ultérieures). L'intéressé a fait valoir que, marié depuis dix ans, il était père de trois enfants de nationalité suisse. La détention lui avait fait reconnaître "l'intégralité de [ses] infractions" qu'il avait entrepris de "réparer". Toujours dans un esprit de réparation, il collaborait activement avec le Ministère public de la Confédération dans le cadre d'une enquête pour trafic de drogue. Par ailleurs, il poursuivait une formation de monteur électricien, bénéficiait d'une thérapie de soutien volontaire et était devenu abstinent aux stupéfiants. Le 13 juin 2006, le Service cantonal a prononcé l'expulsion de l'intéressé pour une durée indéterminée. B. Par arrêt du 21 février 2008, la Ie Cour administrative du Tribunal cantonal du canton de Fribourg (ci-après: le Tribunal cantonal) a rejeté le recours de X._ contre la décision du Service cantonal du 13 juin 2006. Elle a considéré que, vu la gravité des actes d'ordre sexuel commis par l'intéressé, leur multiplicité, le fait qu'ils se sont déroulés pendant plusieurs années à l'encontre d'un jeune enfant - qui de plus était la fille de l'épouse de l'intéressé, sur laquelle il avait un devoir de veiller - ainsi que la récidive en matière d'infractions à la LStup, il existait un intérêt public prépondérant à l'expulsion de l'intéressé. Le comportement exemplaire de celui-ci pendant sa détention ainsi que sa détermination et sa volonté d'intégration n'étaient pas suffisants pour renverser cette appréciation. C. Agissant par la voie du recours en matière de droit public, X._ demande au Tribunal fédéral, sous suite de frais et dépens, d'annuler l'arrêt du Tribunal cantonal du 21 février 2008. Il se plaint d'une mauvaise application du droit. A l'appui de ses griefs, il invoque les art. 10 et 11 LSEE, en relation avec l'art. 16 du règlement d'exécution du 1er mars 1949 de la loi fédérale sur le séjour et l'établissement des étrangers (RSEE RO 1949 I 232), l'art. 14 al. 8 RSEE et l'art. 8 CEDH. Il requiert en outre l'effet suspensif et l'assistance judiciaire. Le Tribunal cantonal conclut au rejet du recours. Le Service cantonal se réfère aux observations produites devant l'autorité intimée et aux considérants de l'arrêt attaqué. L'Office fédéral des migrations propose le rejet du recours.