Der Unterschied ist erstens grammatikalisch (see below, your 1st sentence is correct, the 2nd isn't). Zweitens wird "so tun als ob" vorwiegend in der Umgangssprache gebraucht, "vorgeben" in der Schriftsprache.
The difference is in the sentence structure. Also, "so tun als ob" is used in spoken German, "vorgeben" in written German.
There is no difference in meaning between the verbs. Likewise, there is no difference in meaning beween the verb forms used below:
Er gab vor, nichts davon zu wissen.
Er tat so, als wisse/wüßte er nichts davon.
OR
Er tat so, als ob er nichts davon wisse/wüßte.
Er gab vor, dankbar für das Geschenk zu sein.
Er tat so, als sei/wäre er für das Geschenk dankbar.
OR
Er tat so, als ob er für das Geschenk dankbar sei/wäre.