I just got the SD Card Interface running on several eval boards that I have.
I was able to read and write SanDisk and PNY Micro SDHC cards of 8, 16 and 32 GB.
Here is the path I took.
1) As has been noted before - the instructions given here work as a baseline demo of how to setup the Harmony Drivers.
2) Following the setup in step 1, I ported the app.c from the Harmony demo: "sdcard_fat_single_disk"
I had that working in about 2 hours - As you noted, you have to change the exact pin assignments in the examples to match your hardware - so this proved that I could talk to the SD Card from my demo boards.
Trouble with the step 1 setup for me was,
1) It uses the SPI with Dynamic drivers
2) It uses timer 1 as a resource
My existing application uses static SPI and I already use timer 1 for other critical timing tasks.
So I found this application note and code - this code uses FsFat and register access to control the SPI and it uses a timer for timeout.
I studied this example and ported the SPI calls (what few there were) with PLIB_SPI commands. I didn't port the timeout timers (so they never timeout, but if everything works, you never timeout anyway - use at your own risk).
That took about 4 hours to get working. At this point I was able to drop in the latest FatFs code from the original website (elm-chan.org) and that just worked in a few minutes.
In summary I found FatFS to be pretty easy to use and had it wired up to my original working application in less than a day.