At the game jam last week everything went really well, and we had lots of fun. We've previously produced some good worksheets (which you can download) which provide a good introduction to working with sprites. In sessions we've done, we've provided a basic empty example, and following a brief introduction to Sniff we just let the kids loose to work through the cards. That cards are numbered, but if you'd prefer to shuffle them around they work pretty well in more or less any order.
Kids can work through these examples in a few hours, and start to get the basics of a game. However when they come to make more complex games they'll find they want to do things which aren't explained on the cards. That's fine - we expected that, and explaining stuff on a "need to know" basis is actually a really great way of teaching. Kids take stuff in really quickly when they actually think they're going to use what they're being told (see how fast a kids who wants to make a ballistics game can learn about trigonometry and forces - months of teaching condensed into minutes).
However the problem with that is that is that when they "need to know" there needs to be someone who does know! In this case Michelle and I were there, and we've both worked on developing the sprite resources, so we could quickly address problems. If you want to learn more about using the sprite system we'd refer you to the examples posted here (we've added a "game" label so you should be easily able to find the relevant posts).
However we don't have a definitive reference. Sniff does come with a manual (in the docs folder!) which includes documentation for some of the arduino devices, but the sprite system is complex enough to warrant documentation of its own, so we've now written some.
Here's a reference manual for Sniff Sprites which lets all of the methods you can use with the Sprite and SpriteManager classes. Once you've got to grips with the basics, this is where you should look to find out the exact details of what features are available.