I think the most important thing (got this from my trainer for my dog) is to only say the command once and then MAKE them do it. If you just start repeating come over and over and over again ..... everythinh you say becomes blah, blah, blah, blah.
I would got back to the basics on a long leash. Do sit/lay down/stays with your 25 ft leash. Start off at short distances and then move to long distances, and then move to non-visual stay/comes (go to another room in the house or around the house outside). If the dog doesn't do it right, place them back where they should have been and do it over.