I am using InterProScan for that purpose. The installation process isn't easy and you will need a computer cluster to launch it. But it pays off, as InterProScan integrates multiple databases: PROSITE, PRINTS, Pfam, ProDom, SMART, TIGRFAMs, PIR superfamily, SUPERFAMILY, Gene3D, PANTHER and HAMAP. This means, often you will get functional annotation from multiple, independent sources. In addition, another tools like SignalP can be optionally launched by InterPro.
What we normally do, beside InterPro, is phylogenetic reconstruction. We get phylogenetic tree for every protein from given species, then we predict one-to-one orthologs and transfer annotation from close model species. In this tree, you could transfer annotation from Phy000CVNF_YEAST|SHP1 onto orthologs from closely-related species like C. glabrata or other Saccharomyces. But high-throughput phylogenetic reconstruction is difficult and computationally extensive process. You can have a look at phylomeDB paper that discusses this matter in brief.
Concerning Blast2GO, it's easy-to-use approach. But it relies entirely on sequence similarity, so I recommend to be very careful with those predictions. I would rely on more specific methods like protein profiles (hmmer) or ideally phylogenetic trees. And transfer annotation only among one-to-one orthologs.
Within blast2go, InterProScan searches can also be launched, but as Leszek said, usually you have to do it with a cluster, it takes forever if you run it on a desktop. For phylogeny-based method, ensembl compara may be worthwhile looking.