According to the MATLAB manual, when you save a figure using print or by choosing file|save, if you choose the painters renderer and s
print
file|save
painters
I also encountered this problem for many times, and I have an simple but effective way that never fails me (on Windows, need GSview).
1) save fig as PDF
2) save PDF as ps
3) open ps with GSview, then click "File->PS to EPS", specify a file name and done.
Hope this helps.