Driving LED with PIC 5V
The source currents and sink currents can be different for a device, also the internal voltage drop for both cases can be different.

For the used PIC16F1847, you can see on the datasheet page 355 that the sink current is 8mA at 5V and the source current is only 3.5mA at 5V, these values also change in respect to the supply voltage, so you should be aware of that in your design too.

The next thing you might want to consider is, that the voltage drop can be different and thus the heat generated in the MCU. In your case the output high voltage is guaranteed to be more than \$V_{DD} - 0.7V\$ and the low voltage is guaranteed to be maximal \$0.6V\$. So for sourcing current the voltage drop might be higher and thus your MCU will get hotter - it might be a limiting factor or not, depends on the currents you are looking at. Some devices also have a total limit for sinking and sourcing currents which might differ also because the number of pins used to supply voltage and ground to the device can be different.

Microchip is actually providing a more detailed graph on the behaviour of the pin source and sink capability beyond those numbers mentioned before on page 400. There you can also see what influence the temperature has, as well as how much of a voltage drop you get at different currents.

For this device I'd say it copes much better with sinking currents than with sourcing them, so the second configuration might work better overall.

I don't think there is a best practice in general, but it has to be decided based on the particular device and design constraints you face.