Last bit first, Arjay:
I'm absolutely rubbish at cryptics, so it's unlikely that you'll ever see one from me!
I'm just a bumbling novice at setting crosswords. It's another AB member, AnaxCrosswords, who's the real expert. He sets cryptic crosswords for several of the heavyweight newspapers:
https://anaxcrosswords.wordpress.com/about/
I believe that the main software he uses is this (which costs £39 for the basic product, with optional extras adding to the cost):
http://www.crossword-compiler.com/
He also recommends this (at £100):
http://www.crosswordman.com/
My own method is far more basic (but cheaper!), using pencil & paper for much of the task. I start with a blank 23 x 23 grid in Microsoft Publisher, which I print out. Then I label the columns from 1 to 23 across the top and the rows from A to W down the left. I then do the reverse starting from the bottom right-hand corner, so that if (say) I shade square D5 near to the top-left of the grid I can immediately shade 'the other D5' near to the bottom right, thus ensuring the symmetry of the grid is maintained.
I then fill in (say) the word I want as the answer for 1 Across, remembering to shade the square immediately to the right of it and it's 'partner square' at the bottom of the grid. Next I might fill in the word I want to use for 1 Down, remembering to shade in the square on the end of it AND square B2 (because it can't easily be used) AND their 'partner squares' at the foot of the page.
Having got a couple of words filled in at the top left, I then think of words which will fit in the corresponding places at the bottom right. (I try to ensure that those words use lots of letters such as 'e', 'n' and 't', rather than, say, 'q', 'x' and 'j', as other words will need to end with those letters).
I then gradually build up the grid, remembering to shade all of the necessary squares and to mark (with a red dot) every square where a word starts (because that's where the numbers will need to go later).
Obviously, as more and more words get entered into the grid, it gets harder to find words which will fit in with the intersecting letters which I've already placed. It's at that stage that I turn to this superb dictionary programme. (It's a freebie!):
http://www.sequencepublishing.com/1/thesage.html
If say, I need a word to fit in with _A_E__N, I enter '?a?e??n' and click the 'Wildcard' button. That instantly offers me 'caveman', 'Hamelin', 'gamelan' and much more.
Once I've completed the grid on paper I return to Publisher, numbering all of the relevant sqares and shading in all of the black squares.
The next task is to write the clues. I use The Sage on my computer, and a printed copy of the Concise English Dictionary to help me. I'll often look for the least obvious clue for a word. (e.g. if I need a clue for 'arch' I'll probably ignore any reference to architecture and find a clue which uses the word as in 'arch rival').
When I think that I've finished I'll print out the crossword and try to answer it myself from the clues. (I'll usually find that I've omitted a clue or two, or made a typo, so that check is definitely needed in order to end up with something which I'm prepared to put online).
The whole thing probably takes around the equivalent of a working day but I tend to do it in short sessions across several days.
Easy peasy, really!
;-)