Dream Eater is a powerful move that devours the opponent's dream and restores the user's HP by half the damage dealt. The downside to this move is that you have to put your opponent to sleep first. Obviously, this is a small price to pay for using a move that has 100 power and 100 accuracy. This is where you can find Dream Eaters in Pokémon Brilliant Diamond and Brilliant Pearl.
Before you can get your hands on this powerful TM, you must first get the Rock Climb hidden move. You won't be able to get the hidden move until you are on your way to Lake Acuity. During this time, you will go through a blizzard where you can find the hidden move. Once you get it, you won't be able to use it outside of battle until you defeat the Gym Leader in Snowpoint City.
Once you are able to use Rock Climb outside of battle, make your way to Valor Lakefront. You may remember the hotel area below where you can enter Lake Valor. Go to the hotel area and head west until you reach the building overlooking the pool.
Standing near the building, you will see some rocks that you can use Rock Climb on. They are difficult to spot. Take a look at the image above to see where they are. After you get off the rocks, go left to find more rocks behind the building. There are two other sets of rocks that you need to use Rock Climb on. Tap the A button along the ledges to find them more easily. Eventually, you will be near the first hotel building you see coming from Valor Lakefront. You will see the item capsule containing Dream Eater surrounded by some thrusts.