I started by looking up female first names online, and picking a list of about 20 I liked. Then, I showed those names to family members, co-workers, and friends. Co-workers immediately nixed most of the list, and then declared several of the remaining names to be stripper names (which they were totally right about).
Ultimately, every single person I showed my list of names to picked the same name. Everyone thought "Zoey" was perfect for me. I liked the name, and more than that, it was perfectly normal while not being super common. I couldn't think of anyone I knew at the time named Zoey, but I had known some who weren't much younger than me. I liked that it was short, friendly, and kind of cute without being over the top. It was a name that fit who I really am, without making anyone wonder about me.
My family started calling me Zoey, and I realized that hearing them call me that made me feel something I had never, ever felt when people called me by my birth name - it just felt right. People have been calling me Zoey for about 8 months now, and I still feel a little shiver of happiness sometimes when people say it. I haven't made it my legal name yet, but I'm sure I will. I'm very comfortable with it in a way I have never been with a name before.
As for a middle name, I'm just going with the one my mom was going to give me if I had been seen as female when I was born. I'm probably keeping my current last name. Originally, I had wanted to go with something interesting and flashy for a last name, but my mom is really adamant about wanting me to have the same one as her and my sister. The more I look around at last names online, the more sure I am that I actually like and want to keep my last name the way it is.