Personally, I always use a crystal. With Swordfish, they just work where sometimes the internal oscillator can cause issues with the order of include files and start up actions. The "waste of money" (less than 25 cents) is worth the cost on terms of reliability and simplicity of making things work. Sometimes, I need the higher speed and accuracy afforded by using a crystal.
I'm lazy (any number of people here would be happy to provide additional negative descriptors) and have pretty much standardized my PIC18F-design; the use of a crystal is part of that design.
I also always include a reset switch in my designs. Not often needed but lifesaver when it is. Particularly with a 40 pin chip, disabling /MCLR is almost inconceivable to me.
My personal opinions only, based on my experiences and inherent lazy nature.