I find that cravings eventually go away for the most part. I would be lying if I knew the best way to get to this point though. I jump between "cheat meals are good" and "cheat meals are bad, at first". What I mean is, I think cheat meals ARE good. However, if you have certain cravings, I think a more cold turkey approach "might" be better until you no longer crave whatever-it-is-you-crave. I'm on the fence, though, so I apologise for the uncertainty.
For me, I used to "crave" pasta and bread, and could never imagine living without them. I even thought pasta was healthy and brown bread was, too. They used to not only make up a large part of my diet but also a large part of my cooking repertoire (I could only really cook pasta). Now, though, I honestly never crave pasta or bread. I wouldn't have it by choice, and rarely have them. I'm not sure exactly what got me there, though. I have various thoughts on that but don't want to ramble too much just yet. Oh, I also used to crave fast food and I never get that now, either.
With clients i've found that I can hand them a road map to a great diet - a meal plan, with recipes for said meal plan. It's all there for them. They still don't do it though. I've been trying to take responsibility for client compliance more and my approach is changing. I don't go on about carbs this, carbs that, fat this, fat that, bla bla bla. I learn about their lifestyle and look for holes. It's all about habit, not diet. What bad habits do you have? More importantly what habits can you change. For example, a new client I train always eats crappy food late at night when she gets in from the gym. It's not because she craves crappy food it's because she's had a long day work a couple of hours training and she's tired and just.needs.food.... I could give her the perfect meal or snack to have afterwards but it won't work because that's not the problem. The problem is after a long days work and exercise the last thing she wants to or will do is expend any more energy making something "healthy". The only way around this is preparing in advance, something that can just be thrown in the oven when she gets home i.e. get into the habbit of preparing your last meal of the day whilst making your first (this is for the client, not necessarily what i'm saying for you). So you go after the behaviour and worry less about the macros, at first, especially if you want this to be sustainable.
I think cooking is seriously under rated. Is it sad that I often get excited about cooking the veggies that I used to hate? Seriously, I think anything tastes good with garlic and cherry tomatoes. Right now I'm always chopping up loads of onion, peppers, and mushrooms, and always have cherry tomatoes. These are my "core veggies" just now. They change. I chop up garlic and a little chilli, drizzle with olive oil and whack it in the oven. I could eat it all day. Just add meat and you're good to go. You wouldn't believe how wildly different this "behaviour" is for me, compared to years ago.
Precision Nutrition have something called a "Sunday Ritual". You go do your food shopping, come back, un pack it all, make dinner and, whilst making dinner, you do the pre work for a couple of days worth of food - just bulk chop your veggies, bulk cook your meat, etc. You do a top up ritual on, say, Wed, too. There are lazy ways, for example, they have a chilli recipe which has 10 servings, so one recipe gives you 10 meals, and it'll sit in the fridge for a few days. If you don't mind eating the same thing then it's an easy way around it.
I generally don't bulk cook meat. I do bulk-chop veggies, though, as for me, I have no issue throwing meat in the oven or in the skillet but, I can't be bothered chopping veggies. So when I CAN be bothered chopping them, I do loads, and put them in containers which sit in the fridge. So whether i'm making eggs or meat, I have these boxes of veggies I can grab handfuls from and throw into whatever I need to throw them into.
Ok so i did ramble a lot but hopefully it was some use.
As a little aside, I think the work place has a lot to answer for. Most people eat at home morning and night, and one meal and a few snacks at work. Find the hole, if it's the work place, you need to create a strategy in advance to stop the bad habit (almost always comes down to preparation).
I think for long term, sustainable results that in the end are enjoyable and not painful, you need to find that "one" thing, that one habit that you can focus on which will give you the best results. Then you focus on nailing it, be consistent, when it no longer feels like a chore, go for the next one, and so on...