I don't make fancy ones. I buy fleece (3/4-1 yd), fold in half and sew them around 3 sides leaving an opening for turning then stuff with fiberfill. It works well for my dog. I've bought ones with covers thinking they would be easier to wash. She finds the opening and works the inner pillow out. if she makes a hole in the liner in the process, all the stuffing gets removed. Doesn't happen when they are sewn shut. I can fit the whole thing in my washer and dryer. The kennel does the same when we board her. Now I can't do that for DS's dog, she loves to shred fleece. Doesn't matter if it's her bed, a throw or the kids' pjs.
Personally, I wouldn't use foam because of the mess if it gets a hole. Fiberfill and fabric scraps are bad enough.