I would like to change the shape of a WPF button from the default round rectangle to another shape (say, an arrow), but I want to keep the rest of the styling -- fill color,
You should be able to subclass the normal button control. You can then customize the subclassed button with a custom shape, but all other properties would be inherited. This would allow you to change the shape for your button and nothing else.
Here's a good resource for creating a custom button if you have Blend:
http://msdn.microsoft.com/en-us/library/bb613598.aspx