I agree that the pricing seems kind of steep, even with the fact that meals and stuff are included. My best advice would be to check the fare for every available date you could possibly travel on around that time period. Sometimes a lowball fare will pop up in there in the midst of higher fares on every other day. Theoretically you should be able to get the best fare by booking this far in advance, but as other have said there are only one-three family rooms on the train depending on which longhaul train you will be traveling on. People are becoming smarter and booking these rooms further in advance, often the day they become availbale for sale (just less than one year in advance), and the fact that one out of three or one out of two of the available rooms on the train is already booked will result in the website showing a higher fare for the remaining room(s). Amtrak also uses yield management reservations software to control their inventory that sometimes prices rooms higher on certain days and/or dates based on how they have sold in the past. That is why playing around with dates is really the best way to go about it.
I have taken a few last-minute trips in a sleeper this summer but used a different, more daring, strategy of making the reservation at the last minute. On a few (not all) longhaul lines, the price of the remaining sleepers will drop to their rock bottom price three to four days before departure. I was able to secure a standard sleeper (roommette) between Los Angeles and Flagstaff, AZ on the Southwest Chief for a $104 accommodations upgrade price. That same room seven days before departure was priced at a $281 upgrade! I did the same thing on my return Flagstaff to LA and saved a bundle by booking at the last minute. This is good information to keep in mind for booking the small roommettes but unfortunately does not work for the accessible or family bedrooms.
The reservations system is always coming up with new tricks and it takes time to crack into them and find the best deals. B)