Reposting per Moderator for any that get a dash error message to shift to park when the shifter is in the park position:
I registered to this site specifically to post on this semi-common issue to help any like myself who research how to fix issues themselves. I can attest this issue can easily be fixed with just replacing a $5 microswitch and less than 1 hour of easy time. Thanks to the previous poster that posted the microswitch info, but I saw a few posts with the wrong parts being shown to fix this issue. You need a SPDT three lead switch with the posts on the left side. The CORRECT Omron switch part number is D2HW - BL201M - this version has three leads already in place for easy spicing. I got mine from Mouser Electronics for $5.02. If you want the version with the solder posts, the part number is D2HW - BL201H but you will probably need to remove a lot more stuff to get this resoldered. I went ahead and bought a few spares as well as I expect this to fail again at some point... Don't worry about getting one with a lever, as you will pull the lever off the old switch and put it on the new one.
The great part is you won't have to remove the shifter if you get the switch with the leads already attached. Start by setting the parking brake, then start your car and move the shifter into drive (you need to do this so the console cover can move back away from the dash face-plate), then turn the car back off. Remove the center console with the cup holders. Remove the two side trim pieces by pulling straight up. Then, remove the 6 screws holding this cover down under the trim pieces with a Torx T-20 bit. Now, separate the center console from the dash face-plate - this also pulls straight out (towards the shifter) and is kind of difficult so pull carefully but aggressively. Pull straight up on the console from the rear closest to the storage box and it will pop loose and up. You will not be able to pull it up much due to a few wires still attached to the console, but it is more than enough to get the job done. Working from the passenger side, locate the existing microswitch mounted to the shifter towards the front. Pry it away from the shifter using a thin blade flathead screwdriver and un-route the wiring so you can pull this switch out enough to work with it. I cut the leads off the old switch where it was soldered in place and I had enough wire sticking out that I could splice the new one in easily. NOTE - Leave just a little of the wire coloring on the old switch so you can match the wires up to the new switch leads as the colors are not the same. Take the lever off the old switch and press it into place on the new switch, then re-mount the new switch to the shifter by pressing the posts into the appropriate holes on the shifter base. NOTE - install the switch with the lever down and the leads on top. Put the console cover back into place just enough so you can operate the shifter. Start the car and test your splices before putting everything back in place in case you need to pull it back out and fix the wiring. After your sure everything is fine, put the console back together in reverse order you took it out. Then smile that you finally fixed this annoying problem for $5 and less than an hours work!
I hope I helped someone from either paying the crazy dealership price or buy a completely new shifter and spend much more time and effort taking things apart to do this.