One of the things that I did with my little one to teach the sit and the down (then the down with stay before releasing to get a toy) was this:
I made sure my dog did sit EVERY time I told her to. When she did, I started working on the down. Once she had the down reliably, I went from a down, right to a sit, then right back to a down, and so on. So, rather than being released between each one, I made her do them alternatingly. Every time she did one, I would praise her for a "good sitz" or a "good auf" (sorry, her commands are Dutch). I think this allowed her to differentiate between the sit and the down.
To teach the stay, I put her in a down, and told her to "bleiben." Then I took the toy, and dropped it down about a foot from her, counted to 3, then released her. i did this a few times, then counted to 10. After counting to 10, I dropped the toy to be 3 feet from her, and so on. Then 10 feet....
The stay training was definitely more of a test for me (my patience) than for her!!!!
If she got up during any of these times, I snatched the toy up, put her right back where she was, and did it again. It didn't take that long for her to figure it out.