Correct. We actually used Nano's Generations Sonic model and optimized it, but the process is as you say. Import the model and bones, fit the model to the bones, and rig. As for Sonic's expressions, his mouths are done like other characters with swapped faces (Marth, Ike, etc.) where the animation hides and unhides the models depending on the animation.
To create the other faces, you'd need to create each face somehow, most likely by vertexing the main one to look how you want them. FS eyes are much easier, as you only need to duplicate the eyes and move them above the normal eyes.
And of course you can include it in your pack!